home *** CD-ROM | disk | FTP | other *** search
/ Suzy B Software 2 / Suzy B Software CD-ROM 2 (1994).iso / extras / boot_up / bkite161 / boxkite.doc < prev    next >
Text File  |  1995-04-27  |  78KB  |  1,463 lines

  1.  
  2.                           BoxKite V 1.61
  3.                           ==============
  4.  
  5.                 ---- Just another file selector ----
  6.  
  7.  
  8.  
  9.  
  10.                 1. Was ist und was soll BoxKite?
  11.                 --------------------------------
  12.  
  13. BoxKite   ist   eine    kleine,    handliche,    saubere,   kompatible
  14. Dateiauswahlbox. Er hängt sich ins TOS  ein und wartet darauf, da₧ ein
  15. Anwendungsprogramm  die  GEM-eigene  Dateiauswahlbox  anzeigen möchte.
  16. Dann schiebt er sich dazwischen und zeigt stattdessen seine eigene Box
  17. an. Diese bietet einige Möglichkeiten,  die  weit über die in den ROMs
  18. enthaltene Box himausgehen und  hält  sich dabei an gewisse Standards,
  19. die sich im Laufe der Zeit  herauskristallisiert haben. So ist es etwa
  20. möglich, mehrere Dateien auf einmal zu selektieren; Sie können Dateien
  21. aus BoxKite heraus kopieren oder löschen und Sie können BoxKite (fast)
  22. vollständig mit  der  Tastatur  bedienen.  Darüber  hinaus  können Sie
  23. BoxKite in vielerlei Hinsicht an  Ihre  Vorlieben  anpassen - sogar in
  24. der  Grö₧e.  BoxKite  dürfte   der   erste   Fileselector  mit  dieser
  25. Eigenschaft sein.
  26.  
  27. Vor allen  Dingen  aber  ist  BoxKite  zukunftssicher:  Er  kann unter
  28. MiNT/MultiTOS  mit  langen   Dateinamen   mit   gemischter  Gro₧-  und
  29. Kleinschreibung umgehen. Das erscheint  zwar  noch  nicht wichtig, ich
  30. bin aber davon überzeugt, da₧ sich irgendwann vernünftige Dateisysteme
  31. durchsetzen werden.
  32.  
  33.     Ein paar Worte zur Entstehung
  34.     -----------------------------
  35.  
  36. Mein Texteditor SCEdit enthielt  eigentlich  schon immer einen eigenen
  37. Fileselector. Ich bin also  vorbelastet.  Für eine neue SCEdit-Version
  38. entstand eine erweiterte Dialogbibliothek (Für Kenner: Es handelt sich
  39. um eine quasi objektorientiertes System unter  Pure C. So ist etwa die
  40. Dateiliste in BoxKite  EIN  Objekt.),  die  auch eine Dateiauswahl als
  41. vordefinierten Dialog enthalten  sollte.  Sine  qua  non war dabei die
  42. MiNT-Anbindung und der korrekte Umgang  mit langen Dateinamen. Etwa um
  43. diese Zeit fiel mir Stefan  Radermachers  Selectric┐ in die Hände, der
  44. etliche  hervorragende  Ideen  enthält,   aber   eben   MiNT  und  die
  45. erweiterten Dateisysteme leider (noch?) nicht unterstützt. Da habe ich
  46. dann gemerkt, da₧ es  noch  keinen  wirklich komfortablen Fileselector
  47. gibt, der dies leistet. So nahm das Schicksal seinen Lauf...
  48.  
  49. Meine persönlichen Daten:
  50.  
  51.         Harald Becker
  52.         Ferrenbergstra₧e 41
  53.         51465 Bergisch Gladbach
  54.         Konto 1311 045 876, Kreissparkasse Köln
  55.         (Bankleitzahl 370 502 99)
  56.  
  57.         Email: Harald Becker @ K (Mausnetz)
  58.  
  59.  
  60.                 2. Juristisches
  61.                 ---------------
  62.  
  63. BoxKite ist SHAREWARE. Sie  haben  die  Möglichkeit, das Programm vier
  64. Wochen lang zu testen. Bei regelmä₧iger Benutzung über diesen Zeitraum
  65. hinaus haben  Sie  eine  Sharewaregebühr  von  20,--  DM  an  mich  zu
  66. entrichten (Bankverbindung siehe oben  oder  unter dem Menupunkt "Über
  67. BoxKite"). Geben Sie bei  Überweisungen  bitte unbedingt den Zweck und
  68. Ihre Adresse mit an, da ich das Geld sonst nicht zuordnen kann. Es ist
  69. auch sinnvoll, wenn  Sie  mir  mitteilen,  welche  Version von BoxKite
  70. Ihnen da in die Hände gefallen ist.
  71.  
  72. Nach schlechten  Erfahrungen  mit  vorangegengenen Shareware-Projekten
  73. sah ich  mich  leider  dazu  gezwungen,  die  öffentliche  Version von
  74. BoxKite  leicht  einzuschränken.  Die   Funktionen  "Arbeit  sichern",
  75. "Verschieben" und "Touch" sind erst  in der Vollversion verfügbar. Das
  76. bedeutet  insbesondere,  da₧  Sie   erst   in   der  Vollversion  eine
  77. Konfiguration abspeichern und damit  BoxKite dauerhaft Ihrem Geschmack
  78. anpassen können. Nach Zahlung  der  Shareware-Gebühr  erhalten Sie von
  79. mir schnellstmöglich einen  Schlüssel,  mit  dem  Sie  die öffentliche
  80. Version in eine mit Ihrem Namen personalisierte Vollversion verwandeln
  81. können. Beachten Sie aber bitte,  da₧ Sie eine personalisierte Version
  82. nicht weitergeben dürfen.  Andernfalls  versto₧en  Sie gegen geltendes
  83. Recht.
  84.  
  85. Da die oben beschriebenen  Einschränkungen  dem  vernehmen nach leider
  86. nicht  ausreichten  alle  potentiellen  Anwender  zu  einem  korrekten
  87. Verhalten  zu  bewegen,  wird  die  Version  1.60  darüber  hinaus  in
  88. unregelmä₧igen Abständen beim Verlassen der Box mit "Ok" einen Hinweis
  89. zur Erinnerung ausgeben. Dies  führt  aber zu keiner Einschränkung der
  90. Testmöglichkeiten.
  91.  
  92. Die öffentliche  Version  von  BoxKite  dürfen  (und  sollen) Sie nach
  93. Belieben  weitergeben.   Voraussetzung   ist   dabei,   da₧   Sie  die
  94. Zusammenstellung der Dateien im Ordner  nicht verändern. Ferner dürfen
  95. Sie die Programm-  und  Dokumentationsdateien  nicht modifizieren und
  96. vor allen  Dingen  keinen  Copyrightvermerk  entfernen oder verändern.
  97. Ausnahme: Sie dürfen das  vollständige  Paket mit einem Archivprogramm
  98. (ARC, ZIP o. ä.) komprimieren.
  99.  
  100. Alternativ zum Shareware-Vertrieb  ist  eine exklusive Vollversion von
  101. BoxKite  in  der  whiteline-Serie   der   Firma  delta  labs  media
  102. erhältlich. Diese umfa₧t ein gedrucktes  Handbuch und kostet 30,-- DM.
  103. Wenn Sie eine  solche  Vollversion  mit  gedrucktem  Handbuch erworben
  104. haben, haben Sie keine  weiteren  Verpflichtungen  mehr an mich. Diese
  105. Vollversion dürfen Sie natürlich NICHT weitergeben. Bezugsadresse:
  106.  
  107.     delta labs software
  108.     Rembrandtstra₧e 1
  109.     42329 Wuppertal
  110.  
  111. Bedenken Sie bitte, da₧ auch  in  einem 'kleinen' Programm wie BoxKite
  112. eine Menge an Entwicklungsarbeit steckt. Ich habe allein einige Monate
  113. darauf verwendet, das Programm so  'klein' (d. h. speichersparend) wie
  114. möglich zu gestalten.
  115.  
  116. Zuletzt mu₧ noch dies gesagt werden:
  117.  
  118. Ich, Harald Becker, kann keine  Haftung für irgendwelche direkten oder
  119. indirekten  Schäden  -  einschliesslich,  aber  nicht  beschränkt  auf
  120. materielle oder finanzielle - übernehmen,  die durch die Benutzung von
  121. BoxKite oder die Untauglichkeit von BoxKite für einen bestimmten Zweck
  122. entstehen.
  123.  
  124.     Vorgehen zur Registrierung
  125.     --------------------------
  126.  
  127. Die whiteline-Vollversion  von  BoxKite  brauchen  Sie natürlich nicht
  128. mehr zu registrieren. In diesem  Falle  können  Sie also die folgenden
  129. Erläuterungen überspringen.
  130.  
  131. Vor der Registrierung ziehen  Sie  am besten eine Sicherheitskopie der
  132. öffentlichen  Version  von  BoxKite,  da  Sie  -  wie  gesagt  -  eine
  133. personalisierte Version nicht mehr  weitergeben  dürfen. Wenn Sie dann
  134. in der öffentlichen  Version  im  Menu  "Funktionen" den Eintrag "Über
  135. BoxKite" auswählen, finden Sie  dort  einen  Knopf "Registrieren". Ein
  136. Klick auf diesen Knopf  führt  Sie  weiter  in eine Dialogbox mit zwei
  137. Textfeldern, in die Sie dann  Ihren  Namen  und den Schlüssel eingeben
  138. sollten. Wenn Sie BOXKITE.PRG unter  diesem Namen im AUTO-Ordner Ihres
  139. Bootlaufwerks installiert haben, geschieht  alles weitere automatisch.
  140. Andernfalls fragt BoxKite Sie, wo  sich BOXKITE.PRG befindet. Wechseln
  141. Sie dann  einfach  in  BoxKite  in  das  entsprechende Verzeichnis und
  142. selektieren Sie die entsprechende Datei. Dann wird diese Datei in Ihre
  143. persönliche Vollversion von BoxKite  verwandelt. Den Schlüssel sollten
  144. Sie sich notieren, da sie  damit  auch  eventuelle Updates von BoxKite
  145. personalisieren können, ohne  sich  erneut  mit  mir  in Verbindung zu
  146. setzen.
  147.  
  148. Seit der Version 1.60 werden bei "Arbeit sichern" der Benutzername und
  149. der Schlüssel in  BOXKITE.INF  gespeichert.  Bei einer Neuinstallation
  150. werden diese Daten dann in den Registrierungsdialog eingesetzt, so da₧
  151. Sie diese Angaben nur noch mit "Ok" zu bestätigen brauchen.
  152.  
  153.                 3. Installation
  154.                 ---------------
  155.  
  156. Zum BoxKite-Paket gehören diese Programme:
  157.  
  158. - BOXKITE.PRG: Das eigentliche residente Programm.
  159.  
  160. - BOXKITE.ACC: Ein kleines  Accessory,  das  es gestattet, BoxKite an-
  161. und abzuschalten oder ihn mal  eben  auf den Bildschirm zu bringen, um
  162. eine Datei zu  kopieren  oder  zu  suchen  oder...  Sie  können dieses
  163. Programm  auch  in  BOXKITE.APP  umbenennen  und  dann  einfach  durch
  164. Doppelklick vom Desktop aus starten.  (Es  ist  auch möglich, da₧ sich
  165. diese Datei als schon als BOXKITE.APP in der Distribution befindet.)
  166.  
  167. - BOXKITE.CPX:    Ein    Modul   fürs   neue   Kontrollfeld   XCONTROL,
  168. funktionsgleich mit BOXKITE.ACC.
  169.  
  170. -  BEISPIEL.C:  Ein  Beispielprogramm  im  Quelltext,  das  den  Abruf
  171. mehrerer Dateinamen über  'get_first'  und 'get_next' demonstriert. An
  172. MultiTOS und lange Dateinamen angepa₧t.
  173.  
  174. Da die  TOS-Landschaft  inzwischen  etwas  komplizierter geworden ist,
  175. gibt es  zur  Installation  verschiedene  Möglichkeiten,  die  je nach
  176. TOS-Version  und  sonstiger  Software-Ausstattung  mehr  oder  weniger
  177. empfehlenswert sind:
  178.  
  179. 1.  Einfaches  TOS:  Hier  empfiehlt   es  sich,  BOXKITE.PRG  in  den
  180. AUTO-Ordner zu kopieren  und  den  Rechner  neu  zu  starten. Dann ist
  181. BoxKite  ins  Betriebssystem   integriert   und  steht  jederzeit  zur
  182. Verfügung.
  183.  
  184. Hinweis: Wenn man  bei  TT-  oder  Mega-STE-TOS  im  Desktop eine neue
  185. .INF-Datei liest, erscheint immer  die gewöhnliche TOS-Auswahlbox. Das
  186. ist ein Problem von TOS; es liegt  daran, da₧ bei diesen (wie auch bei
  187. allen älteren) Versionen der Desktop  keine GEM-Anwendung, sondern ein
  188. integraler Teil von GEM ist. MultiTOS ist da intelligenter...
  189.  
  190. 2. Einfaches  TOS  mit  MiNT  0.95  oder  höher (ältere MiNT-Versionen
  191. sollte sowieso niemand mehr  benutzen):  Auch  hier können Sie BoxKite
  192. einfach im AUTO-Ordner  installieren;  vorzugsweise  so,  da₧  er nach
  193. MINT.PRG gestartet wird. Es gibt aber noch eine hübschere Möglichkeit:
  194. Beim Booten  arbeitet  MiNT  die  Steuerdatei  MINT.CNF  ab,  die auch
  195. Befehle zum Starten  von  Programmen  enthalten  kann. Diese Programme
  196. kommen nach der Initialisierung  von  MiNT  zum  Zuge, und zwar in der
  197. Reihenfolge, in der sie in MINT.CNF  aufgeführt sind. Dabei können sie
  198. in ganz beliebigen Ordnern stehen.  In dieser Situation erhält BoxKite
  199. die Gelegenheit, sich auf MiNT einzustellen. Fazit: Unter MiNT sollten
  200. Sie in Ihre MINT.CNF die Zeile
  201.  
  202. exec C:\BOXKITE.PRG
  203.  
  204. einfügen und den Rechner neu starten. Wenn BOXKITE.PRG in einem Ordner
  205. steht, sollten  Sie  natürich  den  entsprechenden  vollständigen Pfad
  206. benutzen.
  207.  
  208. 3. MultiTOS: Da MultiTOS auf  MiNT  aufgebaut ist, gilt hier dasselbe,
  209. was  zu  MiNT  gesagt  wurde.  Zusätzlich  ist  es  hier erforderlich,
  210. entweder das Accessory  BOXKINST.ACC  oder die Kontrollfelderweiterung
  211. BOXKINST.CPX zu mitzubooten. Sie  sorgen  für die saubere Installation
  212. von  BoxKite  im   Betriebssystem.   Dies   gilt   zumindest   in  den
  213. MultiTOS-Versionen, die ich bisher  kenne.  Es  ist immer möglich, da₧
  214. Atari  da   plötzlich   etwas   ändert.   Dann   werde   ich   BoxKite
  215. schnellstmöglich anpassen.
  216.  
  217. 4. MagiC (ich glaube, jetzt wei₧ ich, wie man das schreibt): Hier gilt
  218. dasselbe wie unter normalem TOS.
  219.  
  220. Sie können BOXKITE.PRG auch in  jedem  Falle  vom Desktop aus starten.
  221. Dann wird BoxKite ebenfalls  resident  installiert.  Für einen kleinen
  222. Test ist diese Methode ausreichend,  sie  hat aber zwei Nachteile: Zum
  223. einen kann sie zu einem ineffizienten Verhalten der Speicherverwaltung
  224. führen (Fragmentierung),  und  zum  anderen  wird  dann  GEM bei einem
  225. Auflösungswechsel gnadenlos abstürzen. Das  ist  ein  Problem von TOS,
  226. für das es wahrscheinlich keine saubere Lösung gibt.
  227.  
  228. Unverträglichkeiten von BoxKite mit anderen residenten Programmen sind
  229. mit einer Ausnahme nicht bekannt. Damit er sich aber nicht mit anderen
  230. residenten Fileselektoren ins Gehege kommt, prüft er beim Start, ob im
  231. Cookie-Jar von TOS bereits  ein  Cookie  namens 'FSEL' existiert. Wenn
  232. dies der Fall ist, installiert sich BoxKite nicht im System.
  233.  
  234. Die   o.   a.   Ausnahme   ist    MultiDesk   von   Codehead.   Dieser
  235. Accessory-Expander ist  ziemlich  unsauber  programmiert; insbesondere
  236. benutzt er zum Verbiegen der  Systemvektoren nicht das XBRA-Verfahren.
  237. Das führt dazu, da₧ BOXKINST.CPX  abstürzt. BOXKINST.ACC mü₧te dagegen
  238. laufen.
  239.  
  240.                 *** ACHTUNG ***
  241.  
  242. Wenn Sie von  BoxKite  1.2x  oder  1.4x  nach  BoxKite  1.6x wechseln,
  243. sollten Sie vor dem  ersten  Systemstart  mit  dem  neuen BoxKite Ihre
  244. bisherige  BOXKITE.INF  (im  Wurzelverzeichnis  Ihres  Bootlaufwerkes)
  245. löschen  oder  umbenennen.  Mit   "Arbeit   sichern"  können  Sie  als
  246. registrierter Benutzer jederzeit eine neue Konfiguration speichern.
  247.  
  248.  
  249.                 4. Bedienung
  250.                 ------------
  251.  
  252. Gewisse  Ähnlichkeiten   mit   der   Standard-GEM-Box   oder   anderen
  253. Ersatzprodukten kann BoxKite nicht  verleugnen:  So  gibt es auch hier
  254. eine Dateiliste, ein Eingabefeld  für  den aktuellen Ordner, eines für
  255. den Dateinamen und die Knöpfe  "Ok"  und  "Abbruch", daneben aber auch
  256. einiges mehr.
  257.  
  258. Zunächst einige allgemeine Bemerkungen:
  259.  
  260. 1. Eine grafische Benutzerschnittstelle lä₧t sich eigentlich gar nicht
  261. beschreiben; man mu₧ damit  herumspielen.  Am  besten drucken Sie also
  262. diesen Text aus, legen  ihn  neben  Ihren  Rechner und bringen BoxKite
  263. irgendwie  auf  den  Bildschirm,  im  Zweifel  mit  BOXKINST.ACC  oder
  264. BOXKINST.CPX. Wenn Sie  dann  beim  Durchlesen  auf  eine interessante
  265. Möglichkeit sto₧en, probieren Sie es  sofort  aus. So gewinnen Sie den
  266. besten Überblick über  die  (nicht  gerade  wenigen) Möglichkeiten von
  267. BoxKite.
  268.  
  269. 2. Mit BoxKite können Sie mehrere Dateien auf einmal auswählen, sofern
  270. das aufrufende Programm dies  zulä₧t.  Hierzu  wird dasselbe Protokoll
  271. wie in Selectric┐ 1.02  verwendet.  Alle  Programme, die Selectric┐ in
  272. diesem  Sinne  unterstützen,  unterstützen  damit  auch  BoxKite. Dies
  273. können Sie  z.  B.  mit  GemView  oder  1stGuide  testen.  (Ich  liebe
  274. BiKapitalisierungen!) Manche Programme  verkraften  nur eine bestimmte
  275. Anzahl von Dateien und teilen  dies  BoxKite mit; sollten Sie in einem
  276. solchen Fall mehr Dateien ausgewählt  haben,  so warnt BoxKite Sie mit
  277. einem Piepton (es sei denn, Sie haben im Kontrollfeld den Lautsprecher
  278. abgewürgt) und übergibt dem Programm nur die obersten Dateien.
  279.  
  280. 3. Wie schon erwähnt  ist  BoxKite  (fast)  komplett  mit der Tastatur
  281. bedienbar und signalisiert  dies  (wiederum  fast)  überall  durch die
  282. Bildschirmdarstellung. Wenn  etwa  ein  Knopf  in  seiner Beschriftung
  283. einen unterstrichenen Buchstaben  aufweist,  so  können  Sie  ihn (den
  284. Knopf) auch "anklicken", indem  Sie  die  Buchstabentaste zusammen mit
  285. "Alternate" drücken.
  286.  
  287. Um wirklich restlos alle  Dialogobjekte  mit der Tastatur bedienbar zu
  288. machen, wird in  BoxKite  das  Konzept  des  Tastaturfokus angewendet.
  289. Dahinter  steckt  folgendes:  Stellen  Sie   sich  eine  ganz  normale
  290. GEM-Dialogbox mit mehreren Texteingabefeldern  vor.  Wenn Sie dann ein
  291. Zeichen eingeben, dann landet  dieses  Zeichen  in dem Eingabefeld, in
  292. dem gerade der Eingabecursor (der  dünne  Strich) steht. Man kann also
  293. sagen, da₧ dieses  Objekt  gerade  mit  der Tastatur "verdrahtet" ist,
  294. oder, vornehm ausgedrückt: Der  Tastaturfokus  steht gerade auf diesem
  295. Objekt.
  296.  
  297. Diese Methode wird in  BoxKite  etwas  verallgemeinert.  Da  z. B. die
  298. Dateiliste in BoxKite keinen Cursor kennt  und da etwa das Pfadfeld in
  299. BoxKite  breiter  werden  kann   als   der   am  Bildschirm  sichtbare
  300. Ausschnitt, wird dasjenige Objekt, das  gerade  im obigen Sinne an die
  301. Tastatur  angeschlossen  ist,  mit  einem  doppelten  Rahmen kenntlich
  302. gemacht. Dieser Rahmen stellt den Tastaturfokus dar.
  303.  
  304. Den Tastaturfokus (d. h.  den  doppelten  Rand)  versetzen Sie mit der
  305. "Tab"-Taste zum nächsten, mit "Shift-Tab" zum vorherigen Objekt.
  306.  
  307. 4. Einige Knöpfe in  BoxKite  enthalten Pop-Up-Menus (PopUps, BeamUps,
  308. JazzUps, SonstWasUps), die  eine  Reihe  von  Unterpunkten zur Auswahl
  309. anbieten. Diese Menus können  Sie  genauso  bedienen wie die Drop-Down
  310. Menus in  (fast)  jedem  GEM-Programm,  indem  Sie  mit  losgelassener
  311. Maustaste darüberfahren und  einen  Punkt  anklicken.  Sie können aber
  312. auch die Maustaste  festhalten  und  darüberfahren;  wenn Sie dann die
  313. Maustaste über einem Punkt  loslassen,  wird  dieser angewählt. Ebenso
  314. können Sie die Maus ganz in  weglassen  und mit den Tasten "Pfeil auf"
  315. und  "Pfeil  ab"  einen  Punkt   markieren  und  diesen  mit  "Return"
  316. auswählen. Mit "Esc"  bringen  Sie  das  Menu wieder zum Verschwinden,
  317. ohne etwas auszuwählen, ebenso wie mit  einem Klick bzw. dem Loslassen
  318. der Maustaste au₧erhalb des Menus. Mit  dem Druck auf eine Buchstaben-
  319. oder  Zifferntaste  können  Sie  den  jeweils  nächsten  Punkt  direkt
  320. anspringen, der mit diesem Buchstaben bzw. dieser Ziffer beginnt. Dies
  321. klappt leider nicht mit  den  Umlauten.  Um  also  den Menupunkt "Über
  322. BoxKite" direkt anzufahren, müssen Sie ein 'b' drücken.
  323.  
  324. 5. BoxKite stellt auch die  wichtigsten Dateioperationen wie Kopieren,
  325. Löschen, etc. zur Verfügung.  Diese  Operationen arbeiten rekursiv, d.
  326. h. wenn ein Ordner betroffen  ist,  werden auch alle darin enthaltenen
  327. Dateien und  weiteren  Ordner  bearbeitet.  Wenn  man  also etwa einen
  328. Ordner kopiert  oder  löscht,  wird  -  genau  wie  im  Desktop - sein
  329. vollständiger Inhalt  mitkopiert  oder  -gelöscht.  Solche Operationen
  330. können schon mal etwas dauern. Wenn Ihnen das zu langweilig wird (oder
  331. wenn Sie feststellen, da₧ Sie  einen  Fehler gemacht haben) können Sie
  332. jede derartige Operation mit den Tasten "Esc" oder "Undo" abbrechen.
  333.  
  334. 6. In BoxKite können Sie,  genau  wie  in der Standardbox, die Anzeige
  335. auf Dateien beschränken,  die  auf  ein  bestimmtes Suchmuster passen.
  336. Namen, die Sie momentan  nicht  interessieren,  brauchen Sie also noch
  337. nicht einmal  anzusehen.  Die  Art,  wie  diese  Suchmuster eingegeben
  338. werden,  unterscheidet  sich   allerdings   etwas  von  den  bekannten
  339. TOS-Wildcards, die  etwa  in  der  Standardbox  verwendet  werden. Sie
  340. orientiert  sich  an  dem  von   UNIX  her  bekannten  Standard,  auch
  341. 'globbing' genannt, der  sich  auch  in  der  ATARI-Welt  so peu a peu
  342. durchsetzt und wesentlich flexibler ist. Es sind folgende Jokerzeichen
  343. möglich:
  344.  
  345.     - '?': Steht für ein beliebiges unbekanntes Zeichen (das ist
  346.     noch genau so wie  in  TOS).  Beispiel: 'MEMO?.TXT' pa₧t auf
  347.     'MEMO1.TXT' oder 'MEMO2.TXT', aber nicht auf 'MEMOREX.TXT'.
  348.  
  349.     - '*': Steht für eine beliebige viele (auch 0) Zeichen. Dies
  350.     ist etwas  allgemeiner  als  in  TOS. Beispiel: '*TEST*.TXT'
  351.     pa₧t auf 'TEST.TXT' (hier sind beide  '*' durch je 0 Zeichen
  352.     ersetzt), 'BETATEST.TXT', 'TESTER.TXT', oder 'DIETESTS.TXT'.
  353.     Dieses Beispiel würde in  der  Standardbox  schon nicht mehr
  354.     funktionieren. Achtung: Streng  nach  dieser  Regel wäre '*'
  355.     und nicht etwa  '*.*'  die  Maske,  die  auf alle Dateinamen
  356.     pa₧t. Um aber alte  Gewohnheiten  nicht übermä₧ig zu stören,
  357.     übersetzt BoxKite die Maske  '*.*' (die eigentlich bedeutet:
  358.     Alle Namen, die mindestens einen  Punkt enthalten) schon bei
  359.     der Eingabe in '*'.
  360.  
  361.     - '[...]': Eine Zeichenklasse  in  eckigen Klammern pa₧t auf
  362.     ein Zeichen aus  dieser  Klasse.  An  dieser  Stelle mu₧ TOS
  363.     passen. Beispiele: 'PROG.[CHO]' pa₧t  auf 'PROG.C', 'PROG.H'
  364.     oder  'PROG.O'.   'MEMO[1-9].DOC'   pa₧t   auf  'MEMO1.DOC',
  365.     'MEMO2.DOC', usw. bis  'MEMO9.DOC'.  Wenn  das erste Zeichen
  366.     hinter '[' ein '^' ist, wird die Bedeutung der Zeichenklasse
  367.     umgedreht: 'TEST.[^A-Z]'  pa₧t  auf  alle  Dateien  der Form
  368.     'TEST.?', wobei an  der  Stelle  des Fragezeichens irgendein
  369.     Zeichen steht, das kein Gro₧buchstabe ist.
  370.  
  371.     Schlie₧lich lassen sich auch mehrere  Masken durch ein Komma
  372.     ','  zusammenfügen.  In  diesem   Falle  werden  alle  Namen
  373.     gefunden, die auf  irgendeine  der  Masken passen. Beispiel:
  374.     'TEST.C,TEST.H' pa₧t auf 'TEST.C' oder 'TEST.H'.
  375.  
  376. Einige konkrete Beispiele:
  377.  
  378. -   '*.APP,*.TOS,*.PRG,*.TTP,*.GTP' pa₧t auf alle Programme.
  379. -   '*.AC?' pa₧t auf alle aktiven und inaktiven Accessories.
  380. -   '*.AC[CX]' beschreibt dasselbe, nur etwas genauer.
  381. -   '*READ*ME*' pa₧t auf alle Namen wie 'README', 'READ.ME' etc.
  382. -   '*DESK*.IN[FX]' pa₧t auf aktive und inaktive 'DESKTOP.INF'-Dateien,
  383.     auch für den neuen Desktop.
  384.  
  385. Nun zu den Bedienungselementen von BoxKite im Einzelnen:
  386.  
  387.     Die Titelzeile
  388.     --------------
  389.  
  390. Sie  bietet   Platz   für   einen   Infotext,   den   das   aufrufende
  391. Anwendungsprogramm festlegt. Bei Programmen,  die  noch nichts von den
  392. neueren GEM-Versionen  wissen,  werden  Namen  und  Versionsnummer von
  393. BoxKite  angezeigt.  Darüber  hinaus   kann   BoxKite  mit  Hilfe  der
  394. Titelzeile sogar fliegen (was man bei dem Namen auch erwarten sollte):
  395. Wenn Sie in die Kopfzeile  klicken  und die Maustaste festhalten, wird
  396. BoxKite durchsichtig. Den verbliebenen "Geisterrahmen" können Sie dann
  397. verschieben;  wenn  Sie  die  Maustaste  wieder  loslassen,  erscheint
  398. BoxKite an der neuen  Position.  Voraussetzung für diese Flugfähigkeit
  399. ist, da₧ BoxKite genug  freien  Speicher  vorfindet, um den kompletten
  400. Bildschirmhintergrund zu retten. Ist dies  nicht möglich, so fliegt er
  401. nicht. Auch  alle  weiteren  Dialogboxen,  die  BoxKite  anzeigt, sind
  402. mittels ihrer Kopfzeile flugfähig.
  403.  
  404. P. S.: BoxKite fliegt nicht "massiv", wie man es etwa von den Dialogen
  405. in "Gemini" kennt. Das  ist  zwar  ein  hübsches  Feature, kann aber -
  406. gerade bei kleineren Bildschirmen - verdeckte Informationen auch nicht
  407. immer freilegen. Der Nutzen scheint mir also eher zweifelhaft.
  408.  
  409.     Die Dateiliste
  410.     --------------
  411.  
  412. Die Dateiliste sieht (etwa) aus  wie  ein Fenster im Desktop und nimmt
  413. den grö₧ten Teil der Box  ein.  Sie  zeigt  einen  Teil der Dateien im
  414. aktuellen Ordner, die auf  die  aktuelle  Auswahlmaske passen, an. Der
  415. angezeigte Ausschnitt lä₧t sich mit Hilfe  des Sliders am rechten Rand
  416. verstellen. Die Liste enthält  zusätzlich  zu  den Dateinamen auch die
  417. Grö₧e sowie das  Datum  und  die  Uhrzeit  der  Erstellung, sofern die
  418. Breite der Box ausreicht. Ordner  werden  mit demselben Zeichen wie in
  419. Desktop-Fenstern markiert. Zusätzlich  werden  Ordner und Programme in
  420. Farbauflösungen  farblich  hervorgehoben.  Wenn  vor  dem  Namen eines
  421. Objektes ein Gleichheitszeichen erscheint,  dann  handelt  es sich bei
  422. diesem Objekt um einen symbolischen  Link  (kommt nur unter MiNT vor).
  423. Symbolische  Links,  die  auf   Objekte   verweisen,   die  gar  nicht
  424. existieren, werden  nicht  angezeigt.  Links  werden  ebenfalls farbig
  425. angezeigt.
  426.  
  427. Zur Mausbedienung: Die  Handhabung  des  Sliders  sollte Ihnen von den
  428. Desktop-Fenstern her  vertraut  sein.  In  der  Liste  sind die gerade
  429. ausgewählten Dateien (das  können  auch  mehrere  sein, s. o.) schwarz
  430. hinterlegt. Die Anzahl  der  gerade  selektierten  Dateien  können Sie
  431. oberhalb der Liste ablesen. Durch  einfaches Anklicken selektieren sie
  432. eine Datei,  alle  anderen  werden  deselektiert.  Ordner  werden beim
  433. Anklicken geöffnet, das  können  Sie  aber  auch auf einen Doppelklick
  434. umstellen. Halten Sie  beim  Anklicken  die  Shift-Taste fest, so wird
  435. nichts deselektiert; Sie  selektieren  diese  Datei  zusätzlich zu den
  436. anderen. Halten Sie nach dem Klick  die Maustaste fest und bewegen die
  437. Maus, so werden alle überstrichenen Dateien selektiert. Am oberen oder
  438. unteren Rand wird  die  Liste  gescrollt.  Wenn  sie  eine Datei durch
  439. Anklicken selektieren  und  beim  nächsten  Klick  die 'Control'-Taste
  440. festhalten, werden alle  Dateien  dazwischen  mit selektiert. Zwischen
  441. den Klicks kann die Liste beliebig  gescrollt werden. Damit können Sie
  442. mit  nur  zwei   Klicks   beliebig   gro₧e  zusammenhängende  Bereiche
  443. selektieren. Mit einem  Doppelklick  auf  eine  Datei  selektieren Sie
  444. diese und verlassen BoxKite sofort  ohne  den Umweg über "Ok" oder die
  445. "Return"-Taste.
  446.  
  447. Sie  können  BoxKite  auch  so   einstellen,  da₧  er  anstelle  eines
  448. Doppelklicks auch  einen  einfachen  Klick  auf  die  rechte Maustaste
  449. akzeptiert.
  450.  
  451. Zur Tastaturbedienung: In der Liste ist immer ein Dateiname eingerahmt
  452. (es sei denn, sie ist  leer).  Dieser Rahmen ist der Auswahlcursor; er
  453. dient dazu, Dateien mit der  Tastatur  zu  selektieren. Wenn die Liste
  454. den Tastaturfokus hat,  können  Sie  den  Auswahlcursor mit den Tasten
  455. 'Pfeil Auf' und 'Pfeil Ab' um eine  Zeile auf und ab bewegen, zusammen
  456. mit 'Shift' um eine Seite,  d.  h.  um  soviele Dateien, wie die Liste
  457. gerade  anzeigt,  und  mit  'Home'  und  'Shift-Home'  können  Sie zum
  458. Listenanfang bzw. -Ende springen. Bei diesen Bewegungen wird die Datei
  459. unter  dem  Cursor  automatisch   selektiert.  Mit  'Control-Auf'  und
  460. 'Control-Ab' bewegen Sie den Rahmencursor, ohne die aktuelle Selektion
  461. zu beeinflussen. Ein  Druck  auf  die  Leertaste  selektiert die Datei
  462. unter dem Rahmencursor und deselektiert alle anderen; mit 'Shift-Leer'
  463. wird die Datei selektiert, ohne  die  anderen zu beeinflussen, und mit
  464. 'Control-Leer' können Sie Bereiche  selektieren. Bei 'Shift-Leer' wird
  465. zudem der Rahmencursor einen Eintrag weiter nach unten gesetzt, so da₧
  466. Sie schnell  und  bequem  einen  zusammenhängenden Bereich selektieren
  467. können.
  468.  
  469. Die Tasten  "Help"  und  "Undo"  haben  eine  Sonderfunktion: Wenn der
  470. Auswahlcursor auf einem Ordnernamen  steht,  können  Sie diesen Ordner
  471. mit "Help" öffnen, ohne da₧  er  selektiert  zu sein braucht. (Wenn er
  472. selektiert ist, genügt "Return" - "Help" ist in diesem Falle also eine
  473. Abkürzung  für  die  Sequenz   "Leertaste"   +   "Return".)  Wenn  der
  474. Auswahlcursor nur auf einer  Datei  steht,  wird diese selektiert. Mit
  475. "Undo" oder einem Klick auf das  Schlie₧feld (direkt über der Liste am
  476. linken Rand, s. u.) schlie₧en Sie den aktuellen Ordner; der Inhalt des
  477. übergeordneten Verzeichnisses wird  angezeigt. Für Selectric┐-Freunde:
  478. "Control-Backspace" tuts auch. Seit  Version  1.12  können Sie BoxKite
  479. auch so konfigurieren, da₧ "Undo" wie "Abbruch" wirkt.
  480.  
  481.     Der Kopf der Dateiliste
  482.     -----------------------
  483.  
  484. Die Kopfzeile der Dateiliste zeigt ständig die Anzahl der selektierten
  485. Dateien und Ordner an (es  kann  ja durchaus passieren, da₧ nicht alle
  486. gleichzeitig sichtbar  sind).  Links  von  dieser Information befindet
  487. sich ein Schlie₧feld,  genau  wie  in  einem  GEM-Fenster  oder in der
  488. Standardbox. Ein Klick darauf  schlie₧t  den aktuellen Ordner (wie die
  489. Taste "Undo",  s.  o.).  Auf  der  rechten  Seite  befinden  sich drei
  490. Funktionsknöpfe,  die  mit  je   einem   Zeichen  markiert  sind.  Die
  491. zugehörigen Funktionen  lassen  sich  auch  mit  "Alternate"  und  der
  492. Zifferntaste, die das entsprechende Sonderzeichen trägt, aufrufen.
  493.  
  494. - '?' (Alternate-₧): Dieser Knopf  liefert Informationen, abhängig von
  495. der jeweiligen Selektion.  Wenn  ein  oder  mehrere Objekte selektiert
  496. sind,   werden   die   Dateien    und    Ordner    gezählt   und   der
  497. Gesamtspeicherbedarf berechnet. Dabei werden  auch  die in den Ordnern
  498. enthaltenen Dateien  und  weiteren  Ordner  berücksichtigt. Wenn Ihnen
  499. diese (Volks-)Zählung zu lange dauert,  können  Sie sie mit "Esc" oder
  500. "Undo" abbrechen. Wenn nichts selektiert ist, werden die Kapazität und
  501. der freie  Platz  des  aktuellen  Laufwerks  angezeigt.  Diese Angaben
  502. erfolgen in KByte, das KByte zu 1024 (nicht 1000!) Bytes gerechnet. Da
  503. das Betriebssystem den  Speicherplatz  auf  Disketten bzw. Festplatten
  504. meist in  Häppchen  von  genau  dieser  Grö₧e  verteilt, erlaubt diese
  505. Angabe eine praktische Abschätzung des freien Platzes.
  506.  
  507. - '/' (Alternate-7): Mit  diesem  Knopf  selektieren Sie alle Einträge
  508. der aktuellen Liste  auf  einen  Schlag.  Wenn bereits alle selektiert
  509. sind, werden sie wieder deselektiert.  Wenn  Sie dieses Feld mit einem
  510. Doppelklick  anwählen  oder   gleichzeitig   eine  der  "Shift"-Tasten
  511. festhalten, wird immer alles deselektiert.
  512.  
  513. - '=' (Alternate-0): Dieser Knopf  löst  eine  Funktion aus, die einen
  514. symbolischen Link verfolgt.  Näheres  im  Abschnitt über Dateisysteme.
  515. Dieser Knopf ist zur Zeit nur unter MiNT selektierbar.
  516.  
  517.     Das Namensfeld (oberhalb der Dateiliste)
  518.     ----------------------------------------
  519.  
  520. In diesem Feld können  Sie  einen  Dateinamen  eintragen,  etwa um das
  521. aufrufende Programm zu veranlassen, eine neue Datei zu erzeugen. Dabei
  522. gibt es auch einige Spezialitäten: Während  Sie in dieses Feld Zeichen
  523. eintippen, wird sein  Inhalt  ständig  mit  der Dateiliste verglichen.
  524. Wenn Ihre Eingabe sich mit dem Anfang eines Namens in der Liste deckt,
  525. wird die entsprechende Datei  selektiert.  (Manche  Leute nennen sowas
  526. einen 'Autolocator'.)  Wenn  Sie  auf  diese  Art  die  richtige Datei
  527. gefunden haben, können Sie den  Namen  mit "Return" an die Applikation
  528. übergeben (oder, falls es ein  Ordner  ist, diesen öffnen). Falls kein
  529. passender  Name  existiert,  wird  die  Selektion  gelöscht.  Das  ist
  530. praktisch, wenn  Sie  eine  neue  Datei  erzeugen  wollen.  Alles dies
  531. funktioniert auch dann,  wenn  der  Tastaturfokus  auf  der Dateiliste
  532. steht.
  533.  
  534.     Das Pfadfeld (über dem Namensfeld)
  535.     ----------------------------------
  536.  
  537. Dieses Feld enthält den vollständigen  Namen des aktuellen Ordners (d.
  538. h. die  Namen  aller  Ordner,  in  denen  er  liegt)  und die aktuelle
  539. Suchmaske. In BoxKite kann eine  solche  Pfadangabe bis zu 128 Zeichen
  540. umfassen. Wenn sie zu  lang  für  die  Darstellung  ist, erscheinen am
  541. linken und/oder rechten Rand  des  Feldes  Pfeile,  mit  denen Sie den
  542. sichtbaren Ausschnitt verschieben können.
  543.  
  544. Einige Möglichkeiten, den aktuellen  Pfad  zu  ändern, haben Sie schon
  545. kennengelernt: Wenn Sie einen Ordner in der Dateiliste öffnen oder den
  546. aktuellen Ordner schlie₧en,  ändert  sich  die  Pfadangabe im Pfadfeld
  547. entsprechend. Sie können auch den Fokus auf dieses Feld setzen und den
  548. Pfad von Hand ändern oder einen neuen  eingeben. Das ist aber wohl die
  549. umständlichste  Möglichkeit,  es  sei  denn,  Sie  machen  nur  kleine
  550. Änderungen.
  551.  
  552. Hinter  dem  kleinen  Abwärtspfeil  am  rechten  Rand  des  Pfadfeldes
  553. verbirgt  sich  eine   weitere   praktische  Möglichkeit:  Hier  sitzt
  554. sozusagen das Gedächtnis  von  BoxKite.  Wenn  Sie diesen Abwärtspfeil
  555. anklicken oder mit dem  Fokus  auf  dem  Pfadfeld die Taste 'Pfeil ab'
  556. drücken,  öffnet  sich  ein  Pop-Up-Menu,  das  aus  zwei  Abteilungen
  557. besteht. (Dieses Menu können  Sie  auch mit "Alternate-X" öffnen, ohne
  558. den Fokus zu versetzen.) Die zweite dieser Abteilungen stellt bis zu 8
  559. vollständige Pfade zur Auswahl. Wenn Sie in der obersten Abteilung den
  560. Eintrag "Pfad merken" anklicken oder irgendwo in BoxKite "Alternate-P"
  561. drücken, wird der aktuelle Pfad  oben  an das Menu angehängt. Wenn das
  562. Menu bereits 8 Pfade enthält, wird  der unterste Eintrag gelöscht.
  563. Mit Hilfe des Selectric-Protokolls kann ein Anwendungsprogramm BoxKite
  564. eigene  Pfad-  bzw.  Typenlisten   unterschieben.  Dann  werden  diese
  565. Menupunkte  gesperrt.  Das   ist   leider  unvermeidlich,  da  BoxKite
  566. andernfalls u. U. das Anwendungsprogramm zerstört.
  567.  
  568. Wenn  Sie  einen  der  Pfade   auswählen,  wird  dieser  ins  Pfadfeld
  569. übernommen, eingelesen und in der Dateiliste dargestellt. Gleichzeitig
  570. wird er im Menu an den Anfang gesetzt, so da₧ er vom Löschen wieder so
  571. weit wie möglich entfernt ist.  So verbleiben die meistgenutzten Pfade
  572. am längsten im Menu.  Halten  Sie  bei  der  Auswahl die 'Shift'-Taste
  573. gedrückt,  dann  ersetzt  die  Suchmaske  am  Ende  dieses  Pfades die
  574. aktuelle Auswahlmaske im Pfadfeld.
  575.  
  576. Auch dann, wenn Sie eine  oder  mehrere  Dateien auswählen und die Box
  577. mit "Ok" (s. u.) verlassen, wird  der  aktuelle Pfad an den Anfang der
  578. zweiten Gruppe des Menus gesetzt. Damit enthält sie eine stets auf den
  579. neuesten Stand gebrachte Liste  der  8  meistbenutzten Pfade. Wenn Sie
  580. die aktuelle Konfiguration sichern ("Arbeit sichern", s. o.), wird der
  581. Inhalt  dieses   Menus   mitgesichert,   so   da₧   Sie   sich   einen
  582. Ausgangszustand herstellen können,  der  von  Anfang  an  ein bequemes
  583. Arbeiten erlaubt.
  584.  
  585. Die beiden fehlenden Befehle  im  Pfadmenü sind nur dann selektierbar,
  586. wenn in Ihrem System das GEM-Klemmbrett  definiert ist. Dies ist z. B.
  587. immer dann der Fall, wenn Sie  GEMINI als Desktop einsetzen. Mit "Pfad
  588. kopieren"  schreiben  Sie  den   aktuell   angezeigten   Pfad  in  das
  589. Klemmbrett. Mit  "Pfad  einfügen"  wird  der  Pfad  aus dem Klemmbrett
  590. gelesen und angezeigt. Diese Operation ist natürlich nur dann möglich,
  591. wenn das Klemmbrett auch Daten enthält.
  592.  
  593. Die  Shortcuts  für   diese   Kommandos   sind  'Shift-Control-C'  und
  594. 'Shift-Control-V'.
  595.  
  596.     Der Knopf "Ok"
  597.     --------------
  598.  
  599. Wenn der Tastaturfokus (der  doppelte  Rand) auf der Dateiliste steht,
  600. können Sie mit "Ok"  BoxKite  schlie₧en,  und dem aufrufenden Programm
  601. Ihre Auswahl mitzuteilen.  Wenn  in  der  Dateiliste eine oder mehrere
  602. Dateien selektiert sind, so werden  dies ausgewählt. Wenn (mindestens)
  603. ein Ordner selektiert  ist,  wird  dieser  (bei  mehreren der oberste)
  604. geöffnet und sein  Inhalt  angezeigt.  Wenn  in  der Dateiliste nichts
  605. selektiert  ist,  dann  übergibt  BoxKite  dem  Anwendungsprogramm den
  606. Inhalt des Namensfeldes. Dieses  kann  auch einen Namen enthalten, der
  607. in der Liste noch nicht vorkommt.  Damit veranlassen Sie das jeweilige
  608. Anwendungsprogramm, eine neue Datei zu erzeugen.
  609.  
  610. Wenn der Tastaturfokus auf  dem  Namensfeld  steht  oder wenn Sie beim
  611. Klick auf "Ok" eine Shift-Taste festhalten,  wird immer der Inhalt des
  612. Namensfeldes zurückgegeben,  unabhängig  von  einer  Selektion  in der
  613. Liste. Diese Variante  wird  in  der  folgenden Situation interessant:
  614. Stellen Sie sich vor, Sie möchten eine Datei namens "TEST" anlegen, im
  615. aktuellen  Verzeichnis  existiert   aber   schon   eine  Datei  namens
  616. "TESTTEXT.TXT". Wenn  Sie  nun  den  Namen  "TEST"  eingeben, wird vom
  617. Autolocator  "TESTTEXT.TXT"  selektiert   und   beim  Klick  auf  "Ok"
  618. zurückgegeben. Wenn Sie aber den Fokus  auf das Namensfeld setzen (mit
  619. Mausklick oder "Tab") und dann "Ok" anwählen, erhalten Sie tatsächlich
  620. nur den Namen "TEST" zurück.
  621.  
  622. Falls die automatische Anpassung  aktiv  ist  und Sie versuchen, einer
  623. TOS-Anwendung lange Dateinamen zu  übergeben, erscheint eine Fehlerbox
  624. mit  zwei  Wahlmöglichkeiten:  "Weiter"  und  "Zurück".  Mit  "Weiter"
  625. übergeben Sie die langen Namen an die Hauptapplikation. Wenn Sie diese
  626. Wahl treffen, sollten  Sie  wissen,  was  Sie  tun.  Wenn  Sie dagegen
  627. "Zurück" anklicken, bleiben Sie in  BoxKite. Die Darstellung wird dann
  628. auf  kurze  Namen   zurückgeschaltet.   Ihre  Selektion  bleibt  dabei
  629. erhalten, so da₧ Sie sie mit  einem weiteren "Ok" übergeben können. Es
  630. kann allerdings  sein,  da₧  sich  bei  alphabetischer  Sortierung die
  631. Reihenfolge der Einträge ein wenig ändert.
  632.  
  633. Manche Programme verkraften nur eine  bestimmte Anzahl von Dateien und
  634. teilen dies BoxKite  mit;  sollten  Sie  in  einem  solchen  Fall mehr
  635. Dateien ausgewählt haben, so warnt  BoxKite  Sie mit einem Piepton und
  636. übergibt dem Programm nur die obersten Dateien.
  637.  
  638. Wenn der Tastaturfokus auf dem Pfadfeld steht und Sie dort einen neuen
  639. Pfad oder eine neue Auswahlmaske  eingegeben  haben,  so wird der dort
  640. eingegebene Pfad eingelesen  und  angezeigt.  Anschlie₧end springt der
  641. Fokus auf die Dateiliste, damit Sie dort Ihre Auswahl treffen können.
  642.  
  643.     Der Knopf "Abbruch"
  644.     -------------------
  645.  
  646. Wie Sie sich sicher  schon  gedacht  haben,  dient  dieser Knopf dazu,
  647. BoxKite  zu  verlassen,   ohne   etwas  auszuwählen.  Wirklich  nichts
  648. weiter dabei.
  649.  
  650.     Das Grö₧enfeld (das Dreieck rechts unten)
  651.     -----------------------------------------
  652.  
  653. Wie schon wiederholt erwähnt,  können  Sie BoxKite wie ein GEM-Fenster
  654. vergrö₧ern und verkleinern. Die Minimalgrö₧e  ist auf eine Listenlänge
  655. von 10 Dateien im  normalen  Anzeigeformat ausgelegt. Die Maximalgrö₧e
  656. (und damit die Zahl  der  angezeigten  Dateien)  ist  fast nur von der
  657. Bildschirmauflösung abhängig. "Fast"  bedeutet  in diesem Zusammenhang
  658. folgendes:  Die  Maximalzahl  der   gleichzeitig  angezeigten  Dateien
  659. beträgt 100. (Den Monitor möchte ich mal sehen.) Die Maximalbreite ist
  660. darauf ausgelegt, Dateinamen von  32  Zeichen länge nebst Grö₧e, Datum
  661. und Uhrzeit anzuzeigen. Ein  grö₧ere  Breite würde zumindest in dieser
  662. Version von BoxKite  keinen  Gewinn  an  Information  mehr bringen. In
  663. Auflösungsstufen mit  nur  320  Pixel  Breite  (etwa  ST-niedrig) kann
  664. BoxKite auch TOS-Dateinamen  nur  so  breit  anzeigen, da₧ die Uhrzeit
  665. unsichtbar bleibt. Hier ist  das  Grö₧enfeld also nicht sehr nützlich.
  666. Wenn Sie die aktuelle  Konfiguration  sichern  ("Arbeit sichern" unter
  667. "Optionen"), wird die Grö₧e mit abgespeichert, so da₧ Sie BoxKite nach
  668. dem nächsten Booten in derselben Grö₧e wieder vorfinden.
  669.  
  670.     Der Laufwerksknopf (vor dem Pfadfeld)
  671.     -------------------------------------
  672.  
  673. Er zeigt das  aktuelle  Laufwerk  (also  etwa  "C:")  an. Wenn Sie ihn
  674. anklicken,  erscheint  ein   Pop-Up-Menu,   das  alle  angeschlossenen
  675. Laufwerke zur Auswahl anbietet. Wenn  Sie ein Laufwerk auswählen, wird
  676. dessen  Wurzelverzeichnis  in  der  Dateiliste  angezeigt.  Sie können
  677. dieses  Menu  auch  mit  "Clr-Home"  (Heim  säubern?)  aufrufen.  Noch
  678. einfacher: Sie können jedes  Laufwerk  mit der Kombination "Control" +
  679. Laufwerksbuchstabe auswählen, ohne das  Menu  auch nur anzusehen. Tip:
  680. Die  schnellste  Möglichkeit,  ins   Wurzelverzeichnis  des  aktuellen
  681. Laufwerks zu  gelangen,  besteht  demnach   darin,  das  Laufwerk  neu
  682. auszuwählen.
  683.  
  684.     Der Sortierknopf (rechts oben)
  685.     ------------------------------
  686.  
  687. Hier bestimmen Sie, in welcher Weise die Dateiliste sortiert wird. Die
  688. meisten Sortiermodi sind  vom  Desktop  her  bekannt.  Der Knopf zeigt
  689. immer den aktuellen Modus an. Die Modi im Einzelnen:
  690.  
  691.     "Nach Namen": Sortiert die Dateien alphabetisch aufsteigend.
  692.     Ordner werden  unabhängig  vom  Sortiermodus  immer zuoberst
  693.     angezeigt. Ausnahme: Unsortiert.
  694.  
  695.     "Nach Typ":  Sortiert  die  Dateien alphabetisch aufsteigend
  696.     nach dem Dateityp (auch  Extension genannt). Im gewöhnlichen
  697.     TOS-Dateisystem sind das die 3  Buchstaben hinter dem Punkt,
  698.     bei anderen  Systemen  (wo  evtl.  ein  Name  mehrere Punkte
  699.     enthalten darf) alles hinter dem letzten Punkt. Bei gleichem
  700.     Typ wird nach den Namen sortiert.
  701.  
  702.     "Nach   Grö₧e": Sortiert aufsteigend  nach  der  Grö₧e  (die
  703.     Kleinen nach vorn). Bei  gleicher  Grö₧e wird nach den Namen
  704.     sortiert.
  705.  
  706.     "Nach Datum": Sortiert absteigend nach Datum und Uhrzeit, d.
  707.     h. die jüngsten Einträge stehen oben. Bei gleicher Zeit wird
  708.     nach den Namen sortiert.
  709.  
  710.     "Unsortiert":   Zeigt  alle   Dateien   und  Ordner  in  der
  711.     Reihenfolge an, in der  sie  tatsächlich auf dem Datenträger
  712.     steht. Das kann schon mal wichtig sein; im AUTO-Ordner z. B.
  713.     bestimmt diese Reihenfolge die Reihenfolge der Ausführung.
  714.  
  715.     "Numerisch":    Dies   ist   ein   Zusatzschalter,  der  die
  716.     alphabetische Sortierung steuert. Wenn  er eingeschaltet ist
  717.     (erkennbar am  Häkchen),  werden  in  die Namen eingebettete
  718.     Zahlen erkannt und aufsteigend berücksichtigt. Beispiel: Die
  719.     Namen BRIEF1.TXT, BRIEF2.TXT und  BRIEF10.TXT erscheinen bei
  720.     normaler alphabetischer Sortierung in der Reihenfolge:
  721.  
  722.     BRIEF1.TXT
  723.     BRIEF10.TXT
  724.     BRIEF2.TXT
  725.  
  726.     Bei numerischer Sortierung sieht es so aus:
  727.  
  728.     BRIEF1.TXT
  729.     BRIEF2.TXT
  730.     BRIEF10.TXT
  731.  
  732.     "GROSS = klein": Dies  ist  auch ein Zusatzschalter. Wenn er
  733.     aktiv ist, werden  beim  Sortieren Gro₧- und Kleinbuchstaben
  734.     als gleich angesehen, wie  man  es von der deutschen Sprache
  735.     her  gewohnt   ist.   Andernfalls   wird   streng  nach  den
  736.     ASCII-Codes der Buchstaben sortiert, was dazu führt, da₧ die
  737.     Gro₧buchstaben vor den  Kleinbuchstaben  landen. Dann ähnelt
  738.     das Erscheinungsbild eher  den  Directory-Listen unter UN*X.
  739.     Im Zusammenhang mit  Dateisystemen,  die  nur Gro₧buchstaben
  740.     unterstützen, hat dieser Schalter natürlich keine Wirkung.
  741.  
  742.  
  743.     Die Masken (am rechten Rand)
  744.     ----------------------------
  745.  
  746. Am rechten Rand der Box finden Sie 10 Felder für Auswahlmasken. Wenn
  747. Sie eines dieser Felder anklicken, dann werden aus dem aktuellen Pfad
  748. nur die Dateien angezeigt, die auf diese Maske passen. Halten Sie
  749. dabei eine der 'Shift'-Tasten fest, dann wird diese Maske mit einem
  750. Komma an die aktuell angezeigte Maske angehängt, so da₧ die Dateien
  751. angezeigt werden, die auf beide Masken passen. Alternativ können Sie
  752. diese Maken auch mit den 10 Funktionstasten anwählen.
  753.  
  754. Wodurch wird nun der Inhalt  dieser  Felder bestimmt? Das oberste Feld
  755. enthält  immer  die  Maske,  die  das  Anwendungsprogramm  an  BoxKite
  756. übergeben hat. Das zweite Feld steht immer auf '*' (zeige alle Dateien
  757. an), da diese  Maske  sehr  häufig  gebraucht  wird.  Die restlichen 8
  758. Felder können Sie selbst  definieren.  Selektieren  Sie dazu eines der
  759. Felder  mit  einem   Doppelklick   oder  mit  gleichzeitig  gehaltener
  760. 'Control'-Taste. Dann öffnet sich  ein  Dialog,  in  dem Sie eine neue
  761. Maske eintragen können. Sie  werden  faststellen, da₧ der tatsächliche
  762. Inhalt einer solchen Maske weitaus  länger  sein  kann, als die Breite
  763. des Feldes vermuten lä₧t. Dies war erforderlich, damit BoxKite auch in
  764. niedrigen Bildschirmauflösungen noch läuft.  Intern wird natürlich die
  765. volle Länge Ihrer Eingabe gespeichert.
  766.  
  767. Der Inhalt der editierbaren  Maskenfelder  wird  natürlich bei "Arbeit
  768. sichern" in die INF-Datei geschrieben,  so  da₧  er bei jedem Neustart
  769. wieder zur Verfügung steht.
  770.  
  771.     Der Längenknopf (unten links)
  772.     -----------------------------
  773.  
  774. Der Längenknopf ruft ein PopUp  auf,  in  dem Sie zwischen der Anzeige
  775. von TOS-Dateinamen und der  Anzeige  von  langen Dateinamen umschalten
  776. können.   Ist   MiNT    (oder    ein    anderes    System,   das   den
  777. 'Pdomain'-Mechanismus unterstützt)  aktiv,  können  Sie  hier auch die
  778. automatische   Anpassung   von   BoxKite   an   die   Fähigkeiten  der
  779. Hauptapplikation einschalten.  Näheres  dazu  finden  Sie im Abschnitt
  780. über Dateisysteme.
  781.  
  782.                 5. Dateioperationen
  783.                 -------------------
  784.  
  785. Wie oben schon  erwähnt,  stellt  BoxKite  Ihnen  auch die wichtigsten
  786. Dateioperationen  zur  Verfügung.  Sie  haben  sicher  schon  vor  der
  787. Situation gestanden, einen Text auf eine bestimmte Diskette sichern zu
  788. müssen, auf der  vor  lauter  Datenmüll  nicht  genug  Platz  war. Für
  789. BoxKite kein Problem: Hier  können  Sie  einfach den Datenmüll löschen
  790. und anschlie₧end sichern.
  791.  
  792. Die Dateioperation residieren in  einem  Pop-Up-Menu  hinter dem Knopf
  793. "Funktionen".    Sie    können    auch     direkt    über    bestimmte
  794. Tastenkombinationen  ausgelöst  werden.   Sie   können  jede  laufende
  795. Operation mit den Tasten  "Esc"  oder  "Undo" abbrechen. Die einzelnen
  796. Punkte dieses Menus sind die folgenden:
  797.  
  798.     "Neues Objekt" (Control-Shift-N)
  799.     --------------------------------
  800.  
  801. Dieser Punkt gestattet es, im aktuellen Ordner einen neuen Ordner oder
  802. eine leere  Datei  (auch  das  ist  gelegentlich  nötig) anzulegen. Es
  803. öffnet sich eine kleine Dialogbox, in der Sie den neuen Namen eingeben
  804. und festlegen können, ob  ein  Ordner  oder  eine Datei erzeugt werden
  805. soll.
  806.  
  807.     "Information" (Alternate-I)
  808.     ---------------------------
  809.  
  810. Dieser Befehl liefert detailliertere  Informationen über die einzelnen
  811. momentan selektierten Objekte  (Ordner  und  Dateien).  Er  kann nicht
  812. aufgerufen werden, wenn nichts  selektiert  ist.  Sind mehrere Objekte
  813. selektiert, so wird eins  nach  dem  anderen  angezeigt, falls Sie den
  814. Befehl nicht unterbrechen (wie,  siehe  unten). Es wird eine Dialogbox
  815. angezeigt,  die  Name,  Erstellungsdatum   und  Uhrzeit  des  Objektes
  816. enthält. Für Dateien werden  auch  die  Grö₧e und die TOS-Attributbits
  817. angezeigt, für Ordner dagegen Informationen über den Inhalt. Letzteres
  818. kann schon mal etwas  dauern,  wenn  der  Ordner viele Unterordner und
  819. Dateien  enthält.  Den  Namen   und   die  Dateiattribute  können  Sie
  820. verändern. Wenn Sie die Box mit "Ok" verlassen, werden geänderte Namen
  821. und Attribute übernommen  und  Informationen zum nächsten selektierten
  822. Objekt angezeigt, sofern noch  eines  vorhanden ist. Wenn Sie "Weiter"
  823. benutzen, geht BoxKite ohne Änderung zum nächsten Objekt über, und mit
  824. "Abbruch" beenden Sie den gesamten Befehl, ebenfalls ohne Änderung.
  825.  
  826. Tip: Mit Hilfe der  Dateiattribute  können  Sie eine Datei verstecken.
  827. Dazu schalten Sie das Bit "Versteckt" ein und die Bits "Schreibschutz"
  828. und "Archivbit" aus. Warum  ausgerechnet  diese Kombination nötig ist,
  829. wei₧ nur Atari...
  830.  
  831.     "Suchen" (Control-Shift-F)
  832.     --------------------------
  833.  
  834. Wenn Sie eine  bestimmte  Datei  öffnen  wollen  und  nicht mehr genau
  835. wissen, wo auf Ihrer Festplatte  sie  steckt  (auch eine Diskette kann
  836. ganz  schön  unübersichtlich  werden),   liefert  dieser  Befehl  eine
  837. Hilfestellung. Er durch sucht das  aktuelle und alle darin enthaltenen
  838. Verzeichnisse nach Dateien,  deren  Namen  auf  ein  bestimmtes Muster
  839. passen. In die Dialogbox tragen Sie das Suchmuster ein und starten die
  840. Suche mit "Ok".  Wenn  eine  passende  Datei gefunden wurde, erscheint
  841. eine Hinweisbox mit dem Dateinamen.  Gleichzeitig wird dahinter in der
  842. Dateiliste das  entsprechende  Verzeichnis  angezeigt.  Die Hinweisbox
  843. bietet Ihnen folgende Möglichkeiten:  Mit  "Ok"  beenden Sie die Suche
  844. und bleiben in  dem  Ordner,  in  dem  die  Datei  gefunden wurde, mit
  845. "Weiter" setzen Sie die Suche  fort  und  mit "Abbruch" beende Sie die
  846. Suche und kehren  ins  ursprüngliche  Verzeichnis  zurück. 
  847.  
  848.     "Kopieren" (Alternate-C, Merke: "Copy")
  849.     ---------------------------------------
  850.  
  851. Mit diesem Befehl können Sie  einzelne  Dateien und ganze Ordner nebst
  852. Inhalt kopieren. Er ist nur anwählbar,  wenn auch Objekte zum Kopieren
  853. selektiert sind. Als erstes fordert BoxKite  Sie mit einem Piepton und
  854. einer Meldung in der  Titelzeile  auf,  einen Zielordner zu bestimmen.
  855. Öffnen Sie dazu einfach  den  entsprechenden Ordner und quittieren Sie
  856. mit "Ok".  Danach  erscheint  eine  Dialogbox,  die  Sie  über  die zu
  857. kopierenden Datenmengen informiert. Wenn  darin die Option "Datum/Zeit
  858. beibehalten" selektiert (angekreuzt) ist, erhalten die Kopien dieselbe
  859. Zeitmarkierung wie die Ursprungsdateien, ansonsten  werden sie auf das
  860. aktuelle Datum  und  die  aktuelle  Uhrzeit  gesetzt.  Starten Sie den
  861. Kopiervorgang mit "Ok".
  862.  
  863. Wenn ein  Namenskonflikt  entsteht,  d.  h.  im  Zielordner eine Datei
  864. existiert, die  denselben  Namen  wie  eine  zu  kopierende Datei hat,
  865. erscheint eine Hinweisbox,  die  Ihnen  Gelegenheit  gibt,  für die zu
  866. kopierende Datei einen neuen  Namen  auszuwählen. Gerade beim Arbeiten
  867. mit  verschiedenen  Dateisystemen  können   solche  Situationen  etwas
  868. unerwartet auftreten. Kopiert man etwa von einem Minix-Dateisystem mit
  869. 32 Zeichen langen Namen auf ein TOS-Dateisystem mit "8-Punkt-3"-Namen,
  870. so werden die langen Namen  entsprechend zurechtgestutzt. Dabei können
  871. leicht Überschneidungen entstehen.
  872.  
  873.     "Verschieben" (Alternate-M)
  874.     ---------------------------
  875.  
  876. Funktioniert  genauso  wie  "Kopieren",  au₧er  da₧  die Ausgangsdatei
  877. anschlie₧end gelöscht wird. Diese Funktion  ist nur in der Vollversion
  878. enthalten.
  879.  
  880.     "Touch" (Alternate-H)
  881.     ---------------------
  882.  
  883. Eine Datei zu "Touchen"  (sprich:  Betatschen)  bedeutet, Ihre Datums-
  884. und Zeitmarkierung auf das aktuelle Datum  und die aktuelle Uhrzeit zu
  885. setzen. Dies  ist  hauptsächlich  für  Programmierer  und TeX-Benutzer
  886. interessant,  die  das  Verhalten   von   Utilities  wie  'make'  oder
  887. bestimmten  Entwicklungsumgebungen  beeinflussen  wollen.  Auch dieser
  888. Befehl arbeitet bei selektierten Ordnern rekursiv, d. h. er bearbeitet
  889. Dateien in den Ordnern,  Dateien  in  den  Ordnern  in den Ordnern,...
  890. Diese Funktion ist nur in der Vollversion zugänglich.
  891.  
  892.     "Löschen" (Alternate-D, Merke: "Delete")
  893.     ----------------------------------------
  894.  
  895. Mit diesem Befehl können Sie  Ordner  und Dateien löschen, etwa um auf
  896. dem  Datenträger  Platz  zu  schaffen.  Auch  dieser  Befehl  arbeitet
  897. rekursiv. Seien Sie also vorsichtig.
  898.  
  899.     "Über BoxKite" (Alternate-B)
  900.     ----------------------------
  901.  
  902. Dieser Menupunkt zeigt eine  Dialogbox mit Copyright-Informationen an.
  903. Mit dem Knopf "Ok" verlassen Sie diese Box. Mit "Info" zeigen Sie eine
  904. weitere Infobox an. In  der  öffentlichen Version von BoxKite befindet
  905. sich hier auch der Button "Registrieren", mit dem Sie eine Vollversion
  906. erzeugen können, sofern Sie die  Sharewaregebühr bezahlt haben und den
  907. Schlüssel besitzen.
  908.  
  909.  
  910.                 6. Optionen
  911.                 -----------
  912.  
  913. Über den Knopf "Optionen" erreichen Sie ein Popup-Menu, indem Sie eine
  914. Reihe von Grundeinstellungen für die  Arbeitsweise von BoxKite treffen
  915. und abspeichern können.
  916.  
  917.     Versteckte Dateien anzeigen
  918.     ---------------------------
  919.  
  920. TOS bietet die Möglichkeit,  Dateien  im Desktop unsichtbar zu machen,
  921. um sie  vor  unvorsichtigen  Zugriffen  zu  schützen  oder die Anzeige
  922. übersichtlicher zu gestalten. Manchmal  mu₧  man  aber ausgerechnet so
  923. eine Datei bearbeiten. Mit diesem Menupunkt  können Sie sie in BoxKite
  924. sichtbar machen.
  925.  
  926.     Doppelklick öffnet Ordner
  927.     -------------------------
  928.  
  929. Wenn dieser Punkt aktiviert ist  wird  ein Ordner mit Einfachklick nur
  930. selektiert. Um ihn zu öffnen, benötigen  Sie einen Doppelklick - genau
  931. wie  in  den  Fenstern   im   GEM-Desktop.  (Sie  erinnern  sich:  Ein
  932. Rechtsklick tuts auch.)
  933.  
  934.     In  Namen  alle  Zeichen  zulassen
  935.     ----------------------------------
  936.  
  937. Mit diesem Menupunkt schalten  Sie  die Beschränkung des in Dateinamen
  938. erlaubten  Zeichensatzes  ein  oder   aus.   Wenn   Sie  nur  mit  dem
  939. TOS-Dateisystem  arbeiten,   ist   es   sicherer   die   Einschränkung
  940. einschalten  (näheres  in  Abschnitt  7).   Es  gibt  allerdings  auch
  941. Anwendungsprogramme, die  den  Fileselector  dazu  "mi₧brauchen",  vom
  942. Anwender eine Dateimaske  zu  erfragen,  die  Wildcards  ('*' und '?')
  943. enthält. Um Wildcards ins  Namensfeld  von  BoxKite einzugeben, müssen
  944. Sie die Einschränkung abschalten.
  945.  
  946.     Box immer mit  Maximalhöhe  öffnen
  947.     ----------------------------------
  948.  
  949. Wenn dieser Menupunkt aktiviert ist, nutzt BoxKite beim Öffnen der Box
  950. immer die gesamte  senkrechte  Bildschirmauflösung  aus,  um  so viele
  951. Dateien   wie   möglich    anzuzeigen.    Danach    können   Sie   ihn
  952. selbstverständlich wieder  verkleinern.  Auch  in  dieser  Betriebsart
  953. erscheint BoxKite immer in der Breite, die Sie ausgewählt haben.
  954.  
  955.     *.PRG zeigt alle  Programme  an
  956.     -------------------------------
  957.  
  958. Wenn dieser Punkt aktiv  ist,  erhält  die  Suchmaske  "*.PRG" am Ende
  959. einer Pfadangabe eine Sonderbedeutung: Sie  zeigt alle die Dateien an,
  960. die laut  GEM-Konvention  ausführbare  Programme  sind.  Das  sind die
  961. Dateien mit den Typen PRG, APP, TOS,  TTP, GTP. Dieser Modus ist z. B.
  962. im Zusammenhang  mit  dem  Menubefehl  "Execute..."  der Purbo-C-Shell
  963. interessant.
  964.  
  965.     Undo bricht den Dialog  ab
  966.     --------------------------
  967.  
  968. Mit diesem Menupumkt wird  die  Bedeutung der "Undo"-Taste festgelegt.
  969. Ist er abgehakt, dann wirkt "Undo" wie ein Klick auf "Abbruch" (eigens
  970. für die Selectric-Freunde unter  Ihnen).  Andernfalls wechseln Sie mit
  971. "Undo" zum höheren Verzeichnis.
  972.  
  973.     Klick rechts = Doppelklick
  974.     --------------------------
  975.  
  976. Wenn diese Option aktiv ist,  können  Sie  an jede Funktion, die einen
  977. Doppelklick erfordert, auch mit  einem  einfachen Klick auf die rechte
  978. Maustaste auslösen.  (Diese  Option  war  in älteren BoxKite-Versionen
  979. immer  aktiv.  Es  hat  sich  jedoch  herausgestellt,  da₧  sie  nicht
  980. kompatibel mit bestimmten  unsauberen  Programmen,  etwa GFA-Basic bis
  981. Version 3.x ist. Daher ist sie nunmehr abschaltbar.)
  982.  
  983.     3D-Optik im Dialog
  984.     ------------------
  985.  
  986. Die 3D-Optik,  die  mit  den  Falcon-TOS-Versionen  und  mit  MultiTOS
  987. eingeführt  wurde,  hat   in   der   TOS-Szene   zu  den  herrlichsten
  988. Diskussionen geführt. Darum können  Sie  sie  in BoxKite nach Belieben
  989. ein- und ausschalten.
  990.  
  991.     Arbeit sichern
  992.     --------------
  993.  
  994. Wenn Sie diesen Punkt anklicken,  wird  der Zustand von BoxKite, d. h.
  995. die Grö₧e der  Box,  die  obigen  Einstellungen, der Sortiermodus, die
  996. gespeicherten Pfade  und  Suchmasken  (s.  u.)  in  eine  Datei namens
  997. 'BOXKITE.INF' gesichert.  Diese  Datei  wird  bei  jedem  Neustart von
  998. BoxKite  gelesen   und   ausgewertet,   so   da₧   Sie   wieder   Ihre
  999. Lieblingskonfiguration vorfinden. Pfade  und  Dateitypen,  die von der
  1000. Hauptapplikation   an   BoxKite   übergeben   wurden,   werden   nicht
  1001. gespeichert. Diese Funktion ist nur in der Vollversion zugänglich.
  1002.  
  1003.  
  1004.                 7. Einige theoretische Anmerkungen
  1005.                 ----------------------------------
  1006.  
  1007. Dieser Abschnitt stellt einige der  erweiterten Möglichkeiten von MiNT
  1008. und MultiTOS zur Dateibehandlung  kurz  dar und erläutert, wie BoxKite
  1009. Ihnen helfen kann,  aus  diesen  Möglichkeiten  den  meisten Nutzen zu
  1010. ziehen. Dazu enthält  BoxKite  einige  weitere Bedienungselemente, die
  1011. nur unter MiNT sichtbar  sind.  Diesen Abschnitt können Sie eigentlich
  1012. überspringen, wenn Sie MiNT  oder  MultiTOS  nicht einsetzen. Aber wer
  1013. wei₧, vielleicht kommen Sie ja bei der Lektüre auf den Geschmack?
  1014.  
  1015. Der oberste Abschnitt ist  natürlich  inzwischen überholt. MagiC 3 und
  1016. MagiCMac können auch  mit  langen  Dateinamen  umgehen. Dadurch werden
  1017. diese Möglichkeiten in BoxKite natürlich noch interessanter.
  1018.  
  1019.     Dateisysteme & Dateinamen
  1020.     -------------------------
  1021.  
  1022. Was sind nun  eigentlich  Dateisysteme?  Warum  sind  lange Dateinamen
  1023. interessant?
  1024.  
  1025. Ein Dateisystem ist  derjenige  Teil  des  Betriebssystems,  der dafür
  1026. verantwortlich ist, ob  und  wie  die  Daten  auf  den  Disketten oder
  1027. Festplatten gespeichert werden.  In  das  Betriebssystem  TOS  ist ein
  1028. Dateisystem eingebaut, das  auf  Kompatibilität  mit  MS-DOS (just say
  1029. no!)  ausgelegt  ist.  Diese  Entscheidung   brachte  aber  neben  der
  1030. Möglichkeit, (fast)  ohne  Probleme  Disketten  mit PCs auszutauschen,
  1031. auch einige Unannehmlichkeiten mit sich: Da ist einmal die nicht immer
  1032. berauschende Geschwindigkeit, und zum anderen  die Beschränkung auf 12
  1033. Zeichen lange Dateinamen, die nur  Gro₧buchstaben enthalten können und
  1034. im bekannten "8-Punkt-3"-Format vorliegen müssen.  Da mu₧ man manchmal
  1035. viel Phantasie aufbringen, um  vom  Namen  auf  den Inhalt einer Datei
  1036. schlie₧en zu können.
  1037.  
  1038. Für  dieses  Problem   zeichnet   sich   aber   eine  Lösung  ab:  Die
  1039. Betriebssystemerweiterung MiNT, die  auch  die  Grundlage von MultiTOS
  1040. bildet,  ist  so  offen  ausgelegt,  da₧  man  ohne  weiteres  bessere
  1041. Dateisysteme  einbinden  kann.  Ein   solches   System  ist  etwa  das
  1042. Minix-Dateisystem von Steven Henson  (in  jeder gut sortierten Mailbox
  1043. erhältlich), das neben anderen Vorteilen wesentlich längere Dateinamen
  1044. mit Gro₧-  und  Kleinbuchstaben  zulä₧t.  Hier  kann  eine  Datei etwa
  1045. 'Kapitel.3.Versuch.2.TXT' anstatt 'KAP3VER2.TXT' hei₧en. Dem Vernehmen
  1046. nach können auch MagiC 3 und  MagiCMac Dateisysteme laden. Auf dem Mac
  1047. ist dies sogar erforderlich, um  auf  die Daten auf Mac-Disketten bzw.
  1048. -Platten korrekt zuzugreifen.
  1049.  
  1050. BoxKite kann unter diesen  Systemen  Dateien  mit  Namen von bis zu 32
  1051. Zeichen mit gemischter Gro₧-  und  Kleinschreibung anzeigen. Die Namen
  1052. dürfen auch beliebig viele  Punkte  enthalten. In anderen Boxen werden
  1053. längere Namen so verstümmelt,  da₧  sie  auf die "8-Punkt-3"-Regel des
  1054. TOS-Dateisystems  passen.   Das   Minix-Dateisystem   lä₧t   zwar  bei
  1055. entsprechender Einstellung noch längere  Namen  zu, doch leidet meines
  1056. Wissens dann die Effizienz.
  1057.  
  1058. BoxKite versucht, in der Dateiliste  Namen, Grö₧e und Erstellungsdatum
  1059. der Dateien anzuzeigen. Dies ist  von  der maximal möglichen Länge der
  1060. Namen und von der aktuellen Breite  der  Box  abhängig, d. h. wenn die
  1061. Box gerade breit genug für  32  Zeichen  lange Namen ist, verschwinden
  1062. die Zusatzinformationen. Wenn  Sie  dann  BoxKite  mit  dem Grö₧enfeld
  1063. verbreitern, werden die Zusatzinformationen wieder sichtbar.
  1064.  
  1065. Die Länge des Namensfeldes von  BoxKite entspricht immer der maximalen
  1066. Länge eines Dateinamens im aktuellen Dateisystem. Ebenso gibt das Feld
  1067. den Punkt vor,  wenn  das  Dateisystem  vom  Typ  "8-Punkt-3" ist (was
  1068. leider noch  meistens  der  Fall  ist).  Wenn  das  Dateisystem keinen
  1069. Unterschied zwischen Gro₧- und Kleinbuchstaben macht (ebenfalls leider
  1070. noch meistens der  Fall),  werden  alle  Eingaben  in  dieses  Feld in
  1071. Gro₧buchstaben gewandelt. Sie können  also  nichts falsch machen. Wenn
  1072. Sie MiNT einsetzen, probieren Sie es mal im Laufwerk U: aus.
  1073.  
  1074. Wie so oft erhebt sich  auch  in diesem Zusammenhang die leidige Frage
  1075. nach  der   Kompatibilität,   d.   h.   der   Verträglichkeit  bereits
  1076. existierender  Programme  mit  diesen  neuen  Möglichkeiten.  Es  soll
  1077. nämlich Programme geben, die  nur  Speicherplatz für Dateinamen von 12
  1078. Zeichen reservieren. Wenn man  diesen  längere Namen übergibt, stürzen
  1079. sie u. U. ab und  nehmen  alle  erreichbaren  Daten  mit in den Orkus.
  1080.  
  1081. Leider gibt es im Allgemeinen  keine Möglichkeit, solche Übeltäter von
  1082. vornherein zu erkennen und dingfest zu machen. Dazu mü₧te BoxKite wohl
  1083. in  der   Lage   sein,   durch   blo₧e   Betrachtung   des  Programmes
  1084. festzustellen, ob dieses lange  Dateinamen  verträgt.  Das scheint mir
  1085. aber äquivalent zu einer Lösung des Halteproblems zu sein ;-)
  1086.  
  1087. Daher bleibt  die  Verantwortung  letztlich  beim  Anwender,  also bei
  1088. Ihnen. Sie können  BoxKite  über  den  Namensknopf  so einstellen, da₧
  1089. entweder  nur   TOS-Namen   oder   lange   Dateinamen  angezeigt  oder
  1090. zurückgeliefert werden. Unter MiNT (oder  anderen Systemen, die diesen
  1091. Mechanismuns unterstützten - mir ist  aber noch keines bekannt) können
  1092. Sie BoxKite darüber hinaus  so  konfigurieren, da₧ er sich automatisch
  1093. an die  Fähigkeiten  der  Anwendung  anpa₧t.  Dann  wird  auf mögliche
  1094. Kompatibilitätsprobleme   hingewiesen.    Die    Theorie,    die   dem
  1095. zugrundeliegt, ist die Folgende:
  1096.  
  1097. Unter  MiNT  lassen  sich   Programme   in   zwei  Klassen  einteilen:
  1098. MiNT-Anwendungen  und  TOS-Anwendungen.  Eine  MiNT-Anwendung zeichnet
  1099. sich dadurch aus, da₧ sie mit  den erweiterten Möglichkeiten von MiNT,
  1100. insbesondere  mit   langen   Dateinamen   umgehen   kann.   Von  einer
  1101. TOS-Anwendung kann man  dies  nicht  annehmen,  und  MiNT verfolgt die
  1102. Philosophie,   einer   solchen    Anwendung    auch    nur   auf   das
  1103. "8-Punkt-3"-Format verkürzte  Dateinamen  zu  zeigen.  
  1104.  
  1105. Diese  Philosophie  ist  auch  nicht  ganz  unproblematisch.  Es  kann
  1106. durchaus vorkommen, da₧ zwei verschiedene  Namen,  die sich z. B. erst
  1107. im 10. oder 12. Zeichen  unterscheiden,  in der verkürzten Form gleich
  1108. aussehen und dann  von  Anwendungsprogrammen  nicht mehr unterschieden
  1109. werden können.  Wenn  Sie  schon  gezwungen  sind,  TOS-Anwendungen zu
  1110. benutzen, können Sie diesem Problem  dauerhaft nur dadurch ausweichen,
  1111. da₧ Sie schon bei der  Neuanlage  von  Dateien die Namen so auswählen,
  1112. da₧ sie an den ersten 8  Zeichen  des  Namens und den ersten 3 Zeichen
  1113. der Erweiterung eindeutig zu identifizieren  sind.  Da die Namen z. B.
  1114. im Minix-Dateisystem auch mehrere  Punkte  enthalten dürfen, ist unter
  1115. der Erweiterung  alles  zu  verstehen,  was  hinter  dem letzten Punkt
  1116. steht.
  1117.  
  1118. BoxKite ist nun in der Lage, festzustellen, ob er von einer MiNT- oder
  1119. einer TOS-Anwendung aus aufgerufen  wurde  (Für  Insider: Er prüft, ob
  1120. der aktuelle Proze₧ in  der  MiNT-Domain  läuft  und ob evtl. noch ein
  1121. Accessory mit im Spiel ist). Handelt es sich um eine TOS-Anwendung, so
  1122. werden beim Öffnen der  Box  grundsätzlich  kurze Namen angezeigt. Sie
  1123. können dann auf  die  Darstelölung  langer  Namen umschalten. Wenn Sie
  1124. aber versuchen, lange Namen an die aufrufende Anwendung zurückzugeben,
  1125. wird eine Warnung angezeigt. Dann  können  Sie  die langen Namen immer
  1126. noch zurückgeben; Sie sind aber selbst für die Folgen verantwortlich.
  1127.  
  1128. Selbstverständlich  bleiben   die   Autoren  von  Anwendungsprogrammen
  1129. aufgefordert,  dafür  zu  sorgen,   da₧   ihre  Programme  mit  langen
  1130. Dateinamen zurechtkommen.
  1131.  
  1132.     Nochmal Dateinamen
  1133.     ------------------
  1134.  
  1135. BoxKite hilft auch noch  dabei,  ein anderes Kompatibilitätsproblem zu
  1136. lösen: Laut offizieller Dokumentation dürfen  unter TOS Dateinamen nur
  1137. bestimmte   Zeichen   enthalten,    u.    a.    keine   Umlaute.   Das
  1138. Minix-Dateisystem dagegen kennt  solche  Einschränkungen nicht. Um die
  1139. Lage vollends  zu  verwirren,  wissen  zumindest  einige TOS-Versionen
  1140. nichts davon, da₧ sie diese  Zeichen eigentlich gar nicht beherrschen,
  1141. und verarbeiten z.  B.  die  Umlaute  klaglos.  Auf  der anderen Seite
  1142. existieren angeblich Anwendungsprogramme,  die  Dateinamen mit solchen
  1143. Zeichen schlecht vertragen.
  1144.  
  1145. In BoxKite können Sie  die  Beachtung  von solchen Einschränkungen des
  1146. Zeichensatzes ein- und ausschalten. Wenn der Zeichensatz eingeschränkt
  1147. ist, können Sie Zeichen, die  laut der TOS-Dokumentation nicht erlaubt
  1148. sind (nachzulesen im  ATARI  Profibuch,  Sybex,  12.  Auflage 1992, S.
  1149. 160), gar nicht erst  eingeben.  Ist der Zeichensatz nicht beschränkt,
  1150. dann dürfen Ihre  Dateinamen  alle  Zeichen  au₧er  '\',  '/'  und ':'
  1151. enthalten.  Diese  Zeichen  sind  ausgenommen,  da  sie  von  TOS  als
  1152. Trennzeichen für die  Namen  von verschachtelten Ordnern interpretiert
  1153. werden. Ansonsten ist alles erlaubt.
  1154.  
  1155. Das hei₧t aber nicht, da₧ auch alles  ratsam wäre. Wenn Sie z. B. eine
  1156. Textshell (wie ksh,  sh,  bash,  mintshel  oder Mupfel) einsetzen, und
  1157. wenn Zeichen, die für die Shell eine besondere Bedeutung haben (häufig
  1158. sind das '|', '>', '$'  u.  ä.)  in Ihren Dateinamen vorkommen, können
  1159. können Sie eventuell  diese  Dateien  von  der  Shell  aus  nicht ohne
  1160. weiteres ansprechen. Dann  müssen  Sie  auf  einen  Mechanismus in der
  1161. Shell zurückgreifen, der  diesen  Spezialzeichen  ihre Bedeutung nimmt
  1162. (in den Handbüchern meist als 'Quoting' bezeichnet).
  1163.  
  1164. Das TOS-Dateisystem hat die  Eigenart  (Bug? Feature?), da₧ bei Namen,
  1165. die Leerzeichen  enthalten,  alles  ab  dem  Leerzeichen abgeschnitten
  1166. wird. '*'  und  '?'  haben  noch  eigenartigere  Auswirkungen. Umlaute
  1167. dagegen  werden  meines  Wissens  von  den  meisten  Versionen  sauber
  1168. verarbeitet. Dennoch  mu₧  hier  eine  deutliche Warnung ausgesprochen
  1169. werden: Es ist nicht garantiert, da₧ sich das TOS-Dateisystem in allen
  1170. Versionen genau so  verhält  oder  da₧  es  sich  bis  in alle Zukunft
  1171. weiterhin  so  verhalten   wird.   Es   ist   durchaus   möglich,  da₧
  1172. TOS-Versionen existieren oder in  Zukunft  erscheinen,  in denen nicht
  1173. erlaubte Zeichen in  Dateinamen  zu  Abstürzen und/oder Datenverlusten
  1174. führen. Wenn Sie also dem TOS-Dateisystem solche Dateinamen vorsetzen,
  1175. handeln Sie auf eigene Verantwortung.
  1176.  
  1177.     Symbolische Links
  1178.     -----------------
  1179.  
  1180. Eine  weitere  hübsche  Eigenschaft  von  MiNT  sind  die  sogenannten
  1181. symbolischen Links. Dabei handelt  es  sich  um eine Möglichkeit, eine
  1182. Datei unter zwei  verschiedenen  Namen  in  zwei verschiedenen Ordnern
  1183. anzusprechen.  "Wozu  ist  denn  das   gut?"  werden  Sie  sich  jetzt
  1184. vielleicht fragen.
  1185.  
  1186. Stellen Sie sich etwa vor, da₧ die Programme und Daten, die Sie häufig
  1187. benötigen, in  Ordnern  liegen,  die  über alle Festplattenpartitionen
  1188. verteilt sind,  zum  Beispiel  C:\WORDPLUS\TEXTE\POST\LIEBESBR.IEF und
  1189. D:\DATABASE\PRIVAT\ADRESSEN. Dann  müssen  Sie  sich  immer  von einem
  1190. Laufwerk zum anderen durchklicken,  um  diese  Daten zu erreichen. Der
  1191. gewiefte Anwender einer  modernen  Shell  (etwa  der neue Desktop oder
  1192. Gemini) wird nun  diese  Ordner  als  Icons auf dem Desktophintergrund
  1193. plazieren. Solange man nur mit  der  Shell arbeitet, ist das auch sehr
  1194. hilfreich. Versucht man aber,  eine  dieser  Dateien von einer anderen
  1195. Anwendung aus zu öffnen, darf man sich wieder durch alle Laufwerke und
  1196. Ordner klicken.
  1197.  
  1198. Unter  MiNT  ist  das  anders.   Hier   können  Sie  mit  Hilfe  eines
  1199. symbolischen  Links  dafür  sorgen,   da₧   jeder  dieser  Ordner  ein
  1200. "Doppelleben" im Laufwerk U: führt.  Dann  liegt alles, was Sie häufig
  1201. brauchen,  in   U:   schön   nebeneinander,   und   wird   von   ALLEN
  1202. Anwendungsprogrammen dort  gefunden.  Die  beiden  Bandwurmnamen  oben
  1203. können Sie damit z. B. als U:\LIEBESBR.IEF und U:\ADRESSEN ansprechen.
  1204.  
  1205. Um es nochmal deutlich zu sagen: Dabei werden keine Daten kopiert; Sie
  1206. sprechen nur je eine Datei unter zwei verschiedenen Namen an. Wenn Sie
  1207. also  U:\LIEBESBR.IEF  verändern,   werden   Sie   die  Änderungen  in
  1208. C:\WORDPLUS\TEXTE\POST\LIEBESBR.IEF wiederfinden.
  1209.  
  1210. Wie legt man nun  einen  solchen  Link  am  sinnvollsten an? Bei jedem
  1211. Start von MiNT, also beim  Booten  des  Rechners wird eine Steuerdatei
  1212. namens MINT.CNF  ausgeführt.  Unter  anderem  kann  diese  Datei  auch
  1213. Befehle zum Anlegen von  symbolischen  Links enthalten. Die Links, die
  1214. Sie dort eintragen, werden bei  jedem  Start  des Systems angelegt und
  1215. stehen damit ohne weiteren Aufwand immer  zur Verfügung. Für das erste
  1216. Beispiel lautet der Befehl:
  1217.  
  1218. sln C:\WORDPLUS\TEXTE\POST\LIEBESBR.IEF U:\LIEBESBR.IEF
  1219.  
  1220. BoxKite  markiert  symbolische  Links  in   der  Anzeige  durch  einen
  1221. vorangestellten Punkt. Ferner  steht  eine  Möglichkeit zur Verfügung,
  1222. einen Link aufzulösen, d. h.  herauszufinden, wie das fragliche Objekt
  1223. wirklich hei₧t und wo es steht.
  1224.  
  1225. Ferner enthält unter MiNT der  Kopf  der  Dateiliste von BoxKite einen
  1226. weiteren Knopf, der mit einem Gleichheitszeichen markiert ist und über
  1227. die Tastenkombination "Alternate-0" angesprochen  werden kann. Wenn in
  1228. der Dateiliste ein symbolischer  Link  selektiert  ist, können Sie ihn
  1229. mit dieser Funktion auflösen.  Dann  zeigt BoxKite das Verzeichnis an,
  1230. in dem sich  das  Objekt  tatsächlich  befindet.  Der  wahre  Name des
  1231. Objektes erscheint im Namensfeld. Dieser Knopf ist nicht wählbar (grau
  1232. dargestellt), wenn kein symbolischer Link selektiert ist.
  1233.  
  1234. Wenn Sie  sich  unter  MiNT  die  '?'-Funktion  im  Verzeichnis U:\C\*
  1235. aufrufen, erhalten  Sie  die  Information  über  den  freien Platz auf
  1236. Laufwerk C: anstelle der wenig ergiebigen Angabe, auf U: seien 0 Bytes
  1237. von 0 frei. Das gleiche gilt, wenn Sie  z. B. einen Ordner auf C: über
  1238. einen symbolischen Link auf U: ansprechen.
  1239.  
  1240.  
  1241.             Anhang: Technische Interna
  1242.             --------------------------
  1243.  
  1244. Dieser Abschnitt beschäftigt sich mit  einigen technischen Interna von
  1245. BoxKite.  Er  ist  vermutlich   in   erster  Linie  für  Programmierer
  1246. interessant. Also gleich in die Vollen:
  1247.  
  1248. BoxKite verbiegt die Vektoren für  Trap  #2 (GEM) und Trap #13 (BIOS).
  1249. Die XBRA-Kennung ist 'HBFS'.
  1250.  
  1251. Sie  sollten  den   Aufruf   einer  Dateiauswahlbox  grundsätzlich  in
  1252. 'wind_update'   einschachteln.    Andernfalls    macht   nämlich   die
  1253. Standard-GEM-Box Probleme...
  1254.  
  1255. BoxKite legt zwei Cookies an: Zum einen den Standardcookie 'FSEL', zum
  1256. anderen einen eigenen  Cookie  namens  'HBFS'.  Über den 'FSEL'-Cookie
  1257. wird   eine    Teilmenge    der    Selectric┐-Programmierschnittstelle
  1258. realisiert.  Diese   Schnittstelle   wurde   von   Stefan  Radermacher
  1259. entwickelt, dem ich hiermit für  die Genehmigung zur Verwendung dieser
  1260. Informationen   danke.   Der   Wert   des   'HBFS'-Cookies   ist   die
  1261. Einsprungadresse  des  Trap-2-Handlers  von  BoxKite.  Wenn  einer der
  1262. beiden Cookies beim Start  von  BoxKite  schon existiert, wird BoxKite
  1263. nicht installiert, da in diesem  Fall  zu  vermuten ist, da₧ schon ein
  1264. anderer residenter  Fileselector  installiert  ist  (der  Klügere gibt
  1265. nach).
  1266.  
  1267. Auch auf die Gefahr hin, bereits  Bekanntes zu wiederholen, möchte ich
  1268. hier  die  Funktionsweise  der  Selectric┐-Schnittstelle  beschreiben,
  1269. soweit sie auf BoxKite zutrifft.  Der  Wert des 'FSEL'-Cookies ist die
  1270. Adresse einer Datenstruktur, über die  der Datenaustausch zwischen dem
  1271. Anwendungsprogramm und dem Fileselector  erfolgt. Unter MiNT-Versionen
  1272. mit Speicherschutz ist diese Datenstruktur für Anwendungsprogramme nur
  1273. im  Supervisor-Mode   zugänglich.   Die   Datenstruktur   wird   in  C
  1274. folgenderma₧en deklariert:
  1275.  
  1276. typedef struct
  1277. {
  1278.      unsigned long   id;           /* ID (`SLCT')                */
  1279.      unsigned int    version;      /* Version (BCD-Format)       */
  1280.      struct
  1281.      {
  1282.           unsigned           : 8;   /* reserviert                */
  1283.           unsigned pthsav    : 1;
  1284.           unsigned stdest    : 1;
  1285.           unsigned           : 1;
  1286.           unsigned numsrt    : 1;   /* numerisches Sortieren     */
  1287.           unsigned lower     : 1;
  1288.           unsigned dclick    : 1;   /* Ordner mit Doppelklick    */
  1289.           unsigned hidden    : 1;   /* versteckte Dateien        */
  1290.           unsigned onoff     : 1;   /* Fileselector AN/AUS       */
  1291.      } config;
  1292.      int       sort;               /* Sortiermodus               */
  1293.      int       num_ext;            /* Anzahl Extensions          */
  1294.      char      *(*ext)[];          /* Standard-Extensions        */
  1295.      int       num_paths;          /* Anzahl Pfade               */
  1296.      char      *(*paths)[];        /* Standard-Pfade             */
  1297.      int       comm;               /* communication word         */
  1298.      int       in_count;           /* input counter              */
  1299.      void      *in_ptr;            /* input pointer              */
  1300.      int       out_count;          /* output counter             */
  1301.      void      *out_ptr;           /* output pointer             */
  1302.      int cdecl (*get_first)(XDTA *dta, int attrib);
  1303.      int cdecl (*get_next)(XDTA *dta);
  1304.      int cdecl (*release_dir)(void);
  1305. } SLCT_STR;
  1306.  
  1307. Die Felder 'in_count' und  'in_ptr'  sind  weder  in Selectric noch in
  1308. BoxKite benutzt. Die Felder  'pthsav',  'stdest' und 'lower' haben für
  1309. Selectric eine  Bedeutung,  sind  aber  unter  BoxKite  als reserviert
  1310. anzusehen. Die Felder im Einzelnen:
  1311.  
  1312.     -  'id':  Dieses  Langwort  mu₧  den  Inhalt  'SLCT'  haben.
  1313.     Andernfalls wurde der  'FSEL'-Cookie  von einem Fileselector
  1314.     installiert,  der  das  Selectric-Protokoll  nicht versteht.
  1315.     Bevor Sie das Selectric-Protokoll verwenden, müssen Sie also
  1316.     dieses Feld testen.
  1317.  
  1318.     -   'version':   Hier    steht    die   Versionsnummer   des
  1319.     Selectric-Protokolls im  BCD-Format,  also  0x100  für  1.0.
  1320.     BoxKite trägt nunmehr die Nummer  1.02  ein.
  1321.  
  1322.     - 'config': Die  einzelenen  Bits  in  diesem  Wort schalten
  1323.     bestimme Features von BoxKite  bzw.  Selectric ein oder aus.
  1324.     Die folgenden Bits sind für BoxKite relevant:
  1325.  
  1326.        onoff    steht dieses Bit auf 0, so wird die
  1327.                 GEM-Dateiauswahl anstelle von Selectric bzw.
  1328.                 BoxKite benutzt.
  1329.        hidden   Gibt an, ob versteckte Dateien angezeigt  werden 
  1330.                 sollen.
  1331.        dclick   Ordner erst auf Doppelklick öffnen.
  1332.        numsrt   Schaltet die numerische Sortierung ein.
  1333.  
  1334.     - 'sort': Konfiguriert  das  Sortierkriterium,  dabei gelten
  1335.     folgende Werte:
  1336.  
  1337.                1    Sortiert nach dem Namen
  1338.                2    nach Datum
  1339.                3    nach Grö₧e
  1340.                4    nach Typ bzw. Extension
  1341.                5    unsortiert
  1342.  
  1343.     Negative Werte werden von BoxKite ignoriert.
  1344.  
  1345.     - 'num_ext',  'ext':  Über  diese  beiden  Felder  kann  die
  1346.     Anwendung die Liste von  Dateitypen  verändern. Dazu mu₧ sie
  1347.     in 'num_ext' die Anzahl  der  Typstrings eintragen, in 'ext'
  1348.     die Adresse eines  Arrays  von  Zeigern  auf  die fraglichen
  1349.     Strings. Alle Strings,  von  denen  in  diesem Abschnitt die
  1350.     Rede  ist,  sind   selbstredend   nullterminiert.  Wenn  der
  1351.     Anwender  BoxKite  verlä₧t,   wird   'ext'  wieder  auf  die
  1352.     BoxKite-eigene  Liste  zurückgebogen.  Die  Applikation  mu₧
  1353.     diese Felder also vor jedem fsel_input() bzw. fsel_exinput()
  1354.     einstellen. Wenn 'ext'  verstellt  wird,  sperrt BoxKite die
  1355.     Funktion 'Typ merken' im  Menu  unter  dem Pfadfeld. Das ist
  1356.     erforderlich, da BoxKite  nicht  wissen  kann, wieviel Platz
  1357.     die Applikation für einen Typ reserviert hat.
  1358.  
  1359.     -  'num_paths',  'paths':   Mit   diesen  Feldern  kann  die
  1360.     Applikation   BoxKite   eine    neue    Liste   von   Pfaden
  1361.     unterschieben. Das  Verfahren  ist  dasselbe  wie oben. Auch
  1362.     diese felder  müssen  vor  jedem  Aufruf eingestellt werden.
  1363.     Wenn 'paths'  verstellt  wird,  sperrt  BoxKite die Funktion
  1364.     'Pfad merken'  und  das  Speichern  des  Pfades  nach  jeder
  1365.     Auswahl.
  1366.  
  1367.     Bemerkung  dazu:  Schon  die  Selectric-Dokumentation  weist
  1368.     darauf hin, da₧  Sie  als  Programmierer  diese Features nur
  1369.     dann nutzen sollten, wenn  es  unbedingt  nötig ist und wenn
  1370.     die Effekte für den Anwender  verständlich sind. Bei BoxKite
  1371.     kommt erschwerend dazu, da₧  Sie  dadurch andere Features im
  1372.     Fileselector blockieren.
  1373.  
  1374.     P. S.: Wenn der  Anwender  "Arbeit sichern" betätigt, werden
  1375.     die  von  BoxKite  selbst   gespeicherten  Pfade  und  Typen
  1376.     gesichert, NICHT die von der Applikation festgelegten.
  1377.  
  1378.     -  'comm':   Mit   diesem   Wort   beginnt   eigentlich  der
  1379.     interessanteste Teil  des  Selectric-Protokolls, nämlich die
  1380.     Möglichkeit, mehr  als  einen  Dateinamen  auszuwählen. Dazu
  1381.     werden  auch  noch  die  Felder  'out_count'  und  'out_ptr'
  1382.     benutzt.  Es   wird   folgendes   Verfahren   verwendet:  In
  1383.     'out_count' gibt die Applikation an, wieviele Dateinamen sie
  1384.     höchstens erwartet. In 'out_ptr' trägt sie eine Adresse ein,
  1385.     an  der  sie  diese  Namen  erwartet.  In  'comm'  gibt  die
  1386.     Applikation dann an, in welcher Art und Weise die Dateinamen
  1387.     übergeben werden sollen. Wenn der Fileselector dann mit "Ok"
  1388.     beendet  wird,  setzt  er  in  'out_count'  die  tatsächlich
  1389.     ausgewählte Anzahl von Dateien  ein  und  schreibt die Namen
  1390.     nach der durch 'comm' bestimmten Methode nach 'out_ptr'.
  1391.  
  1392.     Um   überhaupt   die   Rückgabe   mehrerer   Dateinamen   zu
  1393.     veranlassen, mu₧ die Applikation das  Bit  0 in 'comm' auf 1
  1394.     setzen. Wenn dann Bit  1  auf  0  steht,  wird 'out_ptr' als
  1395.     Adresse eines Arrays  von  Zeigern  interpretiert, von denen
  1396.     jeder auf den  Speicher  für  einen  Dateinamen verweist. Es
  1397.     müssen mindestens so  viele  gültige  Zeiger vorhanden sein,
  1398.     wie 'out_count'  angibt,  und  jeder  Zeiger  mu₧  auf einen
  1399.     hinreichend gro₧en freien  Speicherblock verweisen. ACHTUNG:
  1400.     13 Bytes (incl. terminierender 0) sind NICHT genug, 33 Bytes
  1401.     kommen der Sache schon näher.  Ist  Bit  1 gleich 1, so gilt
  1402.     'out_ptr' als Adresse eines Strings,  in den die Namen durch
  1403.     Leerzeichen getrennt geschreiben werden. Der String mu₧ gro₧
  1404.     genug für 'out_count' Namen incl. Leerzeichen sein. Beachten
  1405.     Sie auch hier, da₧ ein Name bis zu 32 Zeichen umfassen kann.
  1406.     Diese zweite Variante kann  aus Kompatibilitätsgründen nicht
  1407.     anders  implementiert  werden;  sie  kann  aber zu Problemen
  1408.     führen,  wenn  Namen  auftreten,   die  bereits  Leerzeichen
  1409.     enthalten.  Das  ist  z.   B.  unter  dem  Minix-Dateisystem
  1410.     durchaus erlaubt. Sie sollten  sich  also im Zweifel für die
  1411.     erste Variante entscheiden.
  1412.  
  1413.     -  'get_first':  Dieses  und  die  beiden  folgenden  Felder
  1414.     enthalten  die  Adressen   dreier   Unterprogramme,  die  es
  1415.     ermöglichen,  eine   theoretisch   unbegrenzte   Anzahl  von
  1416.     Dateinamen zurückzuerhalten. Dieses  Protokoll ist identisch
  1417.     mit Selectric┐ 1.02 und wird z.  B. von 1stView und 1stGuide
  1418.     unterstützt. Aus Rücksicht auf  die längeren Dateinamen habe
  1419.     ich für BoxKite eine  kleine  Änderung  festgelegt, die aber
  1420.     die  Funktion   bestehender   Programme  nicht  beeinflussen
  1421.     dürfte.
  1422.  
  1423.     Um dieses  Protokoll  zu  starten,  müssen  Sie  zunächst in
  1424.     'comm' neben dem Bit 0  auch  das  Bit  3 auf 1 setzen. Wenn
  1425.     'fsel_input()' dann signalisiert, da₧  der User 'Ok' gewählt
  1426.     hat, rufen  Sie  zunächst  'get_first'  auf.  Diese Funktion
  1427.     erwartet als Parameter (und zwar  in C-Manier auf dem Stack)
  1428.     einen Zeiger auf  eine  XDTA-Struktur  und ein Attributwort.
  1429.     Eine XDTA-Struktur ist wie folgt zu deklarieren:
  1430.  
  1431.     typedef struct
  1432.     {   char            d_reserved[21];
  1433.         unsigned char   d_attrib;
  1434.         unsigned int    d_time;
  1435.         unsigned int    d_date;
  1436.         unsigned long   d_length;
  1437.         char            d_fname[34];
  1438.     } XDTA;
  1439.  
  1440.     Bis auf die Länge des Namensfeldes ist sie identisch mit der
  1441.     Standard-TOS-DTA. Das Namensfeld wurde mit Rücksicht auf die
  1442.     langen Dateinamen erweitert. 
  1443.  
  1444.     'get_first'  funktioniert  wie   'Fsfirst'   und  füllt  die
  1445.     XDTA-Struktur mit Informationen  über  die erste selektierte
  1446.     Datei. Es werden nur  solche  Dateien zurückgegeben, die die
  1447.     Attribute  haben,  die  mit   dem  übergebenen  Attributwort
  1448.     korrespondieren (die Werte werden  genauso behandelt wie von
  1449.     GEMDOS bei Fsfirst(), d.  h.  Dateien  mit den Attributen 0,
  1450.     "Archiv" oder  "schreibgeschützt"  erscheinen  immer).  Wenn
  1451.     eine Datei gefunden wurde, gibt 'get_first()' eine 0 zurück.
  1452.     Dann können Sie mit  'get_next()' nacheinander alle weiteren
  1453.     Dateien anfordern, bis  ein  Returncode ungleich 0 auftritt.
  1454.     Danach  sollten  Sie   'release_dir()'  aufrufen,  woraufhin
  1455.     BoxKite den von  der  Dateiliste belegten Speicher freigibt.
  1456.     Spätestens beim  nächsten  Aufruf  von  BoxKite passiert das
  1457.     auch automatisch, aber so lange sollten Sie eigentlich nicht
  1458.     warten. Diesen ganzen  Ablauf  sollten  Sie in 'wind_update'
  1459.     einschachteln, damit kein anderer Proze₧ auf die Idee kommt,
  1460.     zwischenzeitlich  eine  Dateiauswahlbox   aufzurufen.  Falls
  1461.     diese Beschreibung etwas zu abstrakt geraten ist, werfen Sie
  1462.     einen Blick in BEISPIEL.C.
  1463.